原码反码补码
计算机存数据的时候存的是数字的补码
内存大小
程序员便才能操作的内存最小单位是:malloc(字节)
位(bit)
字节(byte) 1字节 == 8 位
kb 1kb = 1024字节
MB 1MB = 1024 kb
G 1G = 1024 MB
T 1T = 1024G
**注:**正数的原码补码反码都是一样的
- 原码
原码 = 符号位 + 真值
符号位:最高位标是符号位(0 表示正,1表示负)
真值:数字的绝对值的二进制
例:
10的原码:00001010
-256的原码:10000001 00000000
128的原码:00000000 01000000
- 反码
负数的反码 -> 原码符号位不变,其他位取反
10的反码:00001010(本身)
-10的反码:11110101
-2的反码:10000010(原码) 11111101(反码)
- 补码
负数的补码 -> 反码加1
计算机存储和操作的是补码,显示结果的时候返回原码
10的补码:00001010(本身)
-10的补码:11110110
-2的补码:11111110(反码)
3+2=5
00000011 + 00000010 == 00000101 ->5
-3-2 = -5