标签: bit-manipulation


如何在不使用^的情况下实现XOR?

有没有办法在不使用的情况下实现按位异或^

1)与其他按位操作?

2)用算术运算?

.net c c# c++ bit-manipulation

-1
推荐指数
2
解决办法
468
查看次数


将m位设置为n位

我有一个32-bit数字而不使用for循环,我想将m位设置 n位.

例如:

m位可以是2nd5th9th10th.
n位可以是 22nd2711th位.

我假设(m <n).

请帮帮我.谢谢

c bit-manipulation

-1
推荐指数
1
解决办法
3759
查看次数

有没有一种有效的方法来构建b10101010101010101010101010101010?

我想构造二进制字符串10101010101010101010101010101010(即16 1和16 0)表示的无符号整数(4个字节).

是否有一种使用位操作构造此值的有效方法?我可以在for循环中完成它,但我觉得效率低下.

任何语言都适合我.我个人认识c和C++.

bit-manipulation

-1
推荐指数
1
解决办法
383
查看次数

按位运算符比+和 - 运算符更快

请参阅链接.

建议计算数字绝对值的最快方法是使用(相对困难的)按位运算符.

我知道按位运算符比除法和乘法更快.但它们是否比+和 - 运算符更快?

谢谢

javascript c c++ bit-manipulation bit-shift

-1
推荐指数
2
解决办法
1979
查看次数

为什么只有&和| 被称为位运算符?

在编程语言中,运算符如&和| 被称为位运算符.我的问题是偶数加(+)和减法( - ),或者就此而言,任何数学表达式都是逐位运算.我的意思是计算发生在二进制数据上,因为机器无法理解小数.我认为另外还会有一个添加门,所以为什么像&和|(或)之类的运算符被称为位运算符.

c bit-manipulation operators

-1
推荐指数
1
解决办法
132
查看次数

如何在C中声明位?

我正在尝试这样做:

uint64_t key = 0110000010110110011001101111101000111111111010001011000110001110;
Run Code Online (Sandbox Code Playgroud)

不行.GCC

警告:整数常量对于其类型而言太大

知道为什么吗?

c gcc bit-manipulation literals

-1
推荐指数
1
解决办法
183
查看次数

使用位操作的两个整数的十进制级联

我想只使用位操作来连接两个整数,因为我需要尽可能多的效率.有各种答案可用,但它们不够快我想要的是只使用左移位等操作的实现.请指导我怎么做

int x=32;
int y=12;
int result=3212;
Run Code Online (Sandbox Code Playgroud)

我正在和FPGA实现AES.我需要在我的系统上使用它来减少某些任务的时间消耗

c algorithm bit-manipulation concatenation micro-optimization

-1
推荐指数
2
解决办法
1347
查看次数

在Java中将其余位设置为1

我需要一些按位操作的帮助.我有数字(64位)前16位是有意义的,我想将其余的设置为"1"

00000000 11000001 00000000 00000000 ... < - currrent值

00000000 11000001 11111111 11111111 ... < - 结果我想要实现

PS哦,是的!有时,要解决 - 你只需要写出你的任务:)

我明白了:value | =(-1 << bitsCount);

bitsCount - 我有意义的位数

java bit-manipulation bitmask

-1
推荐指数
1
解决办法
70
查看次数