滴水
数据宽度
1、数学上的数字,是没有大小限制的,可以无限的大;计算机中,由于收到硬件的制约,数据都是有长度限制的(超过最多宽度的数据会被丢弃)。
2、4位宽度表示:假设计算机只能存储4位2进制数,那么可以存储
0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | a | b | c | d | e | f |
无符号数:0 1 2 3 4 5 6 7 8 9 a b c d e f
有符号数:
-
正数: 0 1 2 3 4 5 6 7
-
负数: -1 -2 -3 -4 - 5 -6 -7 -8
F E D C B A 9 8
有符号数下:1开头为负数,0开头为正数
3、32位宽度表示:假设计算机只能存储32位2进制数
无符号数: 0 1 2 3 4 . . . . . . . FFFFFFFF
有符号数:
-
正数: 0 1 2 3 4 5 6 7 . . . . . . . 7FFFFFFF
-
负数: -1 -2 -3 -4 -5 -6 -7 -8 . . .
FFFFFFFF FFFFFFFE FFFFFFFD FFFFFFFC FFFFFFFB FFFFFFFA
4、重要的计量单位:
BYTE | 字节 | 8bit | |
---|---|---|---|
WORD | 字 | 16bit | 2字节 |
DWORD | 双字 | 32bit | 4字节 |
逻辑运算
1、或(or):只要有一个为1就是1
2、与(and &):两个为1才是1
3、异或(xor ^):不一样为1
4、非(not ! ):1是0 ,0是1
5、移位(<< >>):向左或向右移一位
eg: 0010 << 1 == 0100
6、应用:
a、CPU如何计算2+3=?
1. 异或(xor)后将数据存储在另一个容器(R)中
2.如何判断是否运算结束:
if (与运算后==0)
break
print R中值
else
与运算结果往左移位
3.再进行一轮1和2的步骤,直到与运算结果为0,输出异或后的结构
b、如果想获取某个值的第N位的值是多少?
eg:我想获取第4位的值,将数与00001000与运算
c、简单的加密算法
用异或进行加密
再异或进行解密
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?