1. 或(or |)
只要有一个为1,就为1。
2. 与(and &)
两个都为1,就为1。
3. 异或(xor ^)
两个不一样时,就为1。
4. 非(not !)
1是0,0是1。
提示: CPU计算的本质就是逻辑运算
逻辑运算的具体应用
1. CPU如何计算2 + 3
?
图1 cpu如何实现2 + 3
2. 如何获取某个值的第n位的(二进制)值是多少?
例如:如何获取0x8F的第3位的二进制值是多少?(在16位机器上)
方法解析:
1. 先取0000 0000,然后将第3位设置为1,即0000 0100
2. 将0x8F用二进制表示 1000 1111
3. 将两个二进制进行‘与’运算
1000 1111
& 0000 0100
-----------------------
0000 0100
4. 看‘与’的结果的第n位是多少,则原数中第n位的二进制值就是多少
3. 最简单的加密算法
条件:在16位机器上
要加密的数据:2017
密钥:9
每两位进行一次加密
0010 0000 0001 0111
^ 0000 1001 ^ 0000 1001
------------------ ------------------------
0010 1001 0001 1110
加密结果:29 1E
0010 1001 0001 1110
^ 0000 1001 ^ 0000 1001
------------------ ------------------------
0010 0000 0001 0111
解密结果:20 17
网友评论