数据宽度
各宽度数据存储范围
由于硬件的限制,数据都是有长度的,超过最多位的数据会被舍弃
4位
4位宽度表示,假设计算机只能存储4位二进制数 0-F
无符号数:0 1 2 3 4 5 6 7 8 9 A B C D E F
有符号数
公平起见从中间切开,0-7一组 8-f一组
0-7是正数 8-F是负数 F是最大的负数
-1 -2 -3 -4 -5 -6 -7 -8
F E D C B A 9 8
因为F->0 走一个格就变成正数了例如 -1+1 = 0 即F在4位容器有符号数中是最大的负数
8位
8位宽度表示:假设计算机只能存储8位二进制
八位二进制数可以用两个十六进制表示
无符号数 00000000~11111111(00~ff)十进制的255
有符号数
正数:
0 1 2 3 4 5 6 7...7F
负数:
-1 -2 -3 -4 -5 -6 -7 -8...-128
FF FE FC FD FC FB FA F9 F8 F7...80
16位
16位宽度表示 假设计算机只能存储16位二进制数
无符号数
1 2 3 4 5 6 ... FFFF
有符号数
正数:
1 2 3 4 5 6 7 8 ... 7FFF
负数:
-1 -2 -3 -4 -5 -6 -7 -8 ...
FFFF FFFE FFFD FFFC FFFB FFFA FFF9 FFF8...8000
32位
32位宽度表示 假设计算机只能存储32位2进制数
无符号数:1 2 3 4 5 6 7 8 9 . . . FFFFFFFF
有符号数
-1 -2 -3 -4 -5 -6 -7 -8 -9 . . .
FFFFFFFF FFFFFFFE FFFFFFFD. . . 80000000
容器单位
计算机的每个容器都是有宽度的 超出界限 出现进位会舍掉
重要的计量单位
BTYE 字节 8BIT
WORD 字 16BIT 2字节
DWORD 双字 32BIT 4字节
逻辑运算
逻辑运算或,一真则真
逻辑运算与,都真则真
逻辑运算异或,不一样则为真
非 相反
逻辑运算的具体应用
1.CPU是如何计算2+3=?
2->0010 X
3->0011 Y
异或0010和0011->0001 R
与0010和0011->0010(判断是否为0)不为0则左移一位 为0说明R是最终结果
所以现在X:0001 Y:0100
继续异或0100和0001 ->0101
and 0100与0001 发现是0 所以0101就是我们的最终结果 十进制是5
2.如果想获取某个值的第N位的值是多少
将想获取的值与运算00001000 即可知道第四位是否位1
3.最简单的加密算法
要加密的数据2026
密钥 10
00100000
00010000
xor =00110000->30 //加密
xor 00100000 //解密
解密结果 =00010000->20
homework
1.八进制数2-5在计算器中的结果是37 777 777 775 为什么?
进制只是结果的转换,十进制、十六进制的2-5和八进制的2-5结果是一样的,-3在十六进制的结果是FFFFFFFD
2.使用异或对 87AD6进行加密后再进行解密,加解密密钥:5
87AD6
10000111101011010110
00000000000000000101
xor = 10000111101011010011
加密后的十六进制 87ED3
10000111101011010011
00000000000000000101
XOR = 1000 0111 1010 1101 0110
87AD6
3.只用逻辑运算计算2-3=?(涉及内容:逻辑运算 移位 数据宽度)
X = 2->00000010
Y = -3->FD ->11111101
0010
1101
xor = 1111 R
X&Y = 0000
故R是最终结果1111 即-1



