|
|
1
6
首先,对以下两个变量进行正确的按位计算就足够了,因为它们涵盖了所有组合:
我们想要
对于xor我们得到
0101
因为我们得到
0101
所以如果我们用异或连接它们,我们就完成了。 (a xor b)xor(a和b) |
|
|
2
2
我就从
把布尔代数放在上面,直到它看起来像
不可否认,这可能比走“尝试所有可能的比特组合”路线实际要做的工作更多,但随后你确实要求家庭作业解决方案的想法。:) |
|
|
3
1
维基百科上总结的真相表 here 还有喘息,基本的CS101材料, De Morgan's Law … AND 0 & 0 0 0 & 1 0 1 & 0 0 1 & 1 1 OR 0 | 0 0 0 | 1 1 1 | 0 1 0 | 0 1 XOR 0 ^ 0 0 0 ^ 1 1 1 ^ 0 1 1 ^ 1 0 左移包括从右向左移动位,假设: +-+-+-+-+-+-+-+-+ |7|6|5|4|3|2|1|0| +-+-+-+-+-+-+-+-+ |0|0|0|0|0|1|0|0| = 0x4 hexadecimal or 4 decimal or 100 in binary +-+-+-+-+-+-+-+-+ Shift Left by 2 places becomes +-+-+-+-+-+-+-+-+ |7|6|5|4|3|2|1|0| +-+-+-+-+-+-+-+-+ |0|0|0|1|0|0|0|0| = 0x10 hexadecimal or 16 decimal or 10000 in binary +-+-+-+-+-+-+-+-+ Shift Right by 1 places becomes +-+-+-+-+-+-+-+-+ |7|6|5|4|3|2|1|0| +-+-+-+-+-+-+-+-+ |0|0|0|0|1|0|0|0| = 0x8 hexadecimal or 8 decimal or 1000 in binary +-+-+-+-+-+-+-+-+ 然后是根据上面的真值表组合位操作的问题… |
|
|
4
0
我只想扩大
DeMorgan's law
:
|
|
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 年前 |