十进制
现实生活中最常用的进制,十进制计算方式是逢十进一
负数
十进制可以表示负数,当十进制前面加个 -
符号的时候就代表负数,如 -10
权重
如1234之所以读作一千两百三十四,是因为每个数字位于不同的权重上。
如下
上面的 10^1, 10^0依此类推就是十进制的权重
二进制
在计算机底层用来描述所有数据的是0和1组成的二进制序列。二进制的特点是逢二进一
为了防止二进制与十进制混淆,在二进制前加 0b
如 0b101110
用来识别这是个二进制
负数
二进制序列(具体有多少位取决于xx位电脑,如64位系统有64位)的最高位(最左边的数字)用来表示是负数还是非负数,当最高位值为1时代表负数,为0时代表正数
如 0101...(后面省略60位)
这是个正数,如 1010...(后面省略60位)
这是个负数
权重
2^0, 2^1, 2^2依此类推…
单个字节能表示的整数范围
计算机中单个字节等于8位,其中最左边那位代表符号,真正能用来表示数值的实际只有7位,那么可以表示的数值范围包含 -128~127
- 非负数
0000 0000
~0111 1111
=> 0 ~ 127
0111 1111 => 02^7 + 12^6 + 12^5 + 12^4 + 12^3 + 12^2 + 12^1 + 12^0
=> 0 + 64 + 32 + 16 + 8 + 4 + 2 + 1
=> 127
- 负数
1000 0000
~1111 1111
=> -1 ~ 128
1000 0000 => 先减1: 0111 1111
=> 按位取反: 1000 0000
=> 转为十进制:128
=> 添加负号: -128
八进制和十六进制
他们是为了简化二进制的写法。
八进制是0
开头的;十六进制是0x
开头
比如对于64位电脑来说,在表示数据时最多可以达到64位二进制(8字节)宽,如果我们想要以二进制的方式来查看某个数据的时候,加上内容又多,就会导致可读性很差,因此将数据以八进制/十六进方式制显示会更容易阅读点