位运算的理解
day5:位运算的理解
!!!前提注意!!!
!!!有无符号数!!!
无符号数
没有符号的数,写出来多少就是多少
有符号数
最高符号位代表正负数:1(负数) 0(正数)
位运算:计算机现在可以存储所有的数字(整数,浮点数,字符)的运算
作用
1.找出最高效的运算方式
2.底层的调试器,通过位运算来查看CPU的状态
运算方式
1.与门(or gate)
1011 0001
1101 1000
----------与运算
1001 0000
2或门(or gate)
1011 0001
1101 1000
----------与运算
1111 1001
3异或运算(xor)
1001 0010
0100 1011
---------异或运算
1101 1001
位运算的加减乘除
加法(4+5)
**计算机计算时不会直接进行加减乘除**
0000 0100
0000 0101
---------+
0000 1001
需要通过运算法则来实现运算
#实现原理
#第一步,异或运算,如果不考虑进位,异或运算可以直接结出结果
0000 0100
0000 0101
---------异或
0000 0001
#第二步,与运算(判断进位,如果与运算结果为0则没有进位)
0000 0100
0000 0101
---------与运算
0000 0100
#第三步,将与运算的结果左移一位得到0000 1000(进位后的结果)
#第四步异或运算(第一步与第三步的结果进行运算)
0000 0001
0000 1000
----------异或
0000 1001
#第五步,与运算(判断进位,如果结果为0,没有进位),验算
0000 0001
0000 1000
----------与
0000 0000
#所以最终的结果为 0000 1001
减法(4-5)
减法需要用到补码
将4-5理解成4+(-5)
4->0000 0100
5->0000 0101
-5为5的补码->1111 1011
0000 0100
1111 1011
----------加法的过程
1111 1111
其中1111 1111是-1的补码
将其转化为原码则为1000 0001
#所以最终的结果为1000 0001
```

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异