标签: binary

判断 32 位有符号整数是否是 2 的幂

我需要确定一个有符号的 32 位数字是否是 2 的幂。到目前为止,我知道要做的第一件事是检查它是否为负数,因为负数不能是 2 的幂。然后我需要查看下一个数字是否有效等等......所以我可以这样写:

// Return 1 if x is a power of 2, and return 0 otherwise.
int func(int x)
{
     return ((x != 0) && ((x & (~x + 1)) == x));
}
Run Code Online (Sandbox Code Playgroud)

但是对于我的任务,我只能使用其中的 20 个运算符:

! ~ & ^ | + << >>
Run Code Online (Sandbox Code Playgroud)

并且没有相等语句或循环或强制转换或语言结构。

所以我试图转换相等部分,我知道 !(a^b) 与 a == b 相同,但我似乎无法完全弄清楚。关于如何将其转换为允许的运营商的任何想法?

c binary logic bit-manipulation

0
推荐指数
1
解决办法
3094
查看次数

有没有函数可以否定 C 中的二进制数?

我有以下二进制数

uint64_t = 0b0100;
Run Code Online (Sandbox Code Playgroud)

我想否定它

0b1011
Run Code Online (Sandbox Code Playgroud)

这是一个具体的例子,但我希望它适用于任何二进制数变量。例如,

uint64_t a

那么是否有像 negate 这样的函数可以使以下内容成立

a == negate(negate(a));
Run Code Online (Sandbox Code Playgroud)

c binary integer

0
推荐指数
1
解决办法
5385
查看次数

如何用 C# 覆盖二进制文件中的特定字节?

我想覆盖 exe 中的字节。

所以我需要生成一个随机字符串,将其转换,然后将其写入exe。

我需要以这种格式覆盖你在那里看到的 4 个十六进制字符串 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (8-4-4-4-12) 需要破折号,所以这对我来说也是一个问题。

这是第一个字符串的位置。

十六进制转储

属性截图

我完全不知道如何开始这个,我如何用随机字符串以正确的格式覆盖这 4 个字符串(十六进制,所以随机只能是 0123456789abcdef)

任何帮助深表感谢。

c# binary byte overwrite

0
推荐指数
1
解决办法
4064
查看次数

试图在java中反转二进制数

我想反转一个数字的二进制表示。

程序中的方法通过参数 col 接收 6 个字符的十六进制颜色代码。它应该将此值转换为其二进制对应值(例如,1111 变为 0000,反之亦然),然后翻转所有位。然后应将此新值转换回其十六进制等值。这将产生原始彩色图像的颜色反转。

我不完整的代码,

public String invertColor(String col)
    {
        String inverted = col;

        int i = Integer.parseInt(inverted, 16);
        String bin = Integer.toBinaryString(i);
        System.out.println(bin);

        return inverted;

}
Run Code Online (Sandbox Code Playgroud)

有什么建议?谢谢。

java binary flip

0
推荐指数
1
解决办法
7072
查看次数

C - 在阅读之前查找文件结尾

我有一个从二进制文件中读取“块”的类。我这样使用它:

while(log.HasNextBlock()) {
    block = log.GetNextBlock();
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果我在文件末尾,我需要检查函数 HasNextBlock() 的内部,在这种情况下我将返回 false。我正在尝试使用 feof() 来检查,但我读到在调用 feof() 之前我必须执行读取操作,但在我的情况下,读取操作是在 GetNextBlock() 中完成的,即在调用 feof 之后()。

有没有办法查看我是否在二进制文件的末尾而不执行会修改“上下文”的操作(即不更改文件中的当前位置或任何其他变量)?

谢谢你的帮助 !:)

c binary fread eof feof

0
推荐指数
1
解决办法
5241
查看次数

使用8位将负十进制转换为二进制

(不确定是否允许我提出这样的问题,但如果被问到会删除)使用 8 位和 2 的补码格式将 -25 转换为二进制表示以表示负数。到目前为止,我得到了 11001。

我尝试使用 google 方法,但我不确定如何使用 8 位方式进行操作。

这个问题不是使用代码,只是转换,但我所做的是将其转换为二进制 11001 然后我添加了 3 个零使其成为 8 位(假设这是正确的) 00011001 然后我做了 1 的补码 11100110 和 2 的补码通过加 1等于 11100111。

我不确定这是否正确。

binary

0
推荐指数
1
解决办法
1万
查看次数

如何将 32 位二进制转换为浮点数

我想在 python 中执行从 32 位二进制到浮点数的 IEEE 754 转换。

我试过这个

import struct

f = int('11000001101011000111101011100001', 2)
print struct.unpack('f', struct.pack('i', f))[0]
Run Code Online (Sandbox Code Playgroud)

但这不适用于带有负符号位的数字。

预期的输出应该是这样的:

bintofloat(11000001101011000111101011100001)
>>> -21.56
Run Code Online (Sandbox Code Playgroud)

python floating-point binary ieee-754

0
推荐指数
1
解决办法
6914
查看次数

Python format() 打印十进制、八进制、十六进制和二进制值

我正在尝试.format()在想要打印的 python 中使用

1 到 N 以空格填充,以便所有字段都采用与二进制值相同的宽度。

以下是我迄今为止尝试过的

n=int(input()) 
width = len("{0:b}".format(n)) 
for num in range(1,n+1):
    print ('  '.join(map(str,(num,oct(num).replace('0o',''),hex(num).replace('0x',''),bin(num).replace('0b','')))))
Run Code Online (Sandbox Code Playgroud)

我不知道如何在.format()这里正确使用该功能。请帮忙

python format binary hex

0
推荐指数
2
解决办法
2万
查看次数

在 NEST (elasticsearch) 中使用二进制类型

我想通过我的 C# 代码将一个二进制参数存储在我的 Elasticsearch 服务器中。我尝试在索引类中使用的类型都没有转换为它。

有没有办法明确指示我的程序存储二进制文件,比如从字节数组(当然可以转换为其他类型)?

或者,有没有办法配置不存储的参数(如 Json 属性"stored": false)?对我来说主要问题是复制和索引那个大参数(不理想但足够)

更新:我试图将我的 NEST 版本降级到 1.6.1 以使用该属性

[ElasticProperty(Name = "Data", Type = FieldType.Binary, Store = false)]
public byte[] Data { get; set; }
Run Code Online (Sandbox Code Playgroud)

但是当我使用该属性保存文档时,它仍然坚持映射一个字符串(我通过GET mydb/_mapping在我的 Sense 插件中运行来检查)

binary elasticsearch nest elasticsearch-net

0
推荐指数
1
解决办法
1222
查看次数

如何编写一个用零填充的二进制文件作为二进制数字?

如何编写一个用零填充的二进制文件作为二进制数字?

例如,我有 8 位零,如 00000000,它将被保存为一个字节。

python binary

0
推荐指数
1
解决办法
3196
查看次数