|
|
1
4
如果
如果
在无符号的情况下(和两个补码的情况下),很容易确认
对于无符号类型,两个表达式都不会溢出对于签名类型,
|
|
|
2
10
表达
只要您提供的表达式在 二补 被用来表示负整数时,它是可移植的所以,第二个问题的答案是 是 依赖于负整数的表示。
为了回答您的第一个问题,因为算术表达式依赖于数据类型及其表示,我不认为只有一个算术表达式可以等效于表达式
|
|
|
3
9
在2的补码体系结构中,使用4位有符号整数:
评论:
所以,做
ub:有符号整数溢出显示未定义的行为。 |
|
4
4
以下是我根据其他答案所做的研究。钻头操作
主要用于穿越
Fenwick tree
. 特别地,
是(它也可以与 one's complement 和 signed magnitude 表示)并减少一个操作。 然而,似乎没有简单的可移植的方法来添加LSB。 |
|
|
5
3
|
|
|
6
0
最简单的方法是从数学等价性的角度考虑:
所以
下面是数字6(0110,二进制)的一个例子:
您可能需要手动执行每个操作几次,然后才能了解位中的模式。 下面是另外两个例子:
看看
所以如果
从一个值的最低1位减去它本身就可以把这个位归零。 把一个值的最低1位加到它本身并没有什么特殊的目的,它只是做它在锡上说的。 它应该是便携式的任何系统使用二的补充。 |
|
no one special · 32位整数缩放,无溢出 8 年前 |
|
|
Benn Tan · 比特操作:更难翻动硬币 8 年前 |
|
|
Ganesh Thampi · 使用位运算符将十进制转换为二进制 8 年前 |
|
|
Ganesh Thampi · 使用位的奇偶程序 8 年前 |
|
|
datapanda · 三维网格的莫顿反向编码 8 年前 |
|
|
rubyquartz · 交换无符号短整数的字节 8 年前 |
|
|
John Proctor · C中位的掩蔽范围 8 年前 |
|
|
Areg Sarvazyan · 从无符号int中提取位的函数 8 年前 |
|
|
user9505617 · 按位异或0xFFFFFFFF? 8 年前 |