十进制

现实生活中最常用的进制,十进制计算方式是逢十进一

负数
十进制可以表示负数,当十进制前面加个 - 符号的时候就代表负数,如 -10

权重

如1234之所以读作一千两百三十四,是因为每个数字位于不同的权重上。
如下
进制 - 图1
上面的 10^1, 10^0依此类推就是十进制的权重

二进制

在计算机底层用来描述所有数据的是0和1组成的二进制序列。二进制的特点是逢二进一
为了防止二进制与十进制混淆,在二进制前加 0b0b101110 用来识别这是个二进制

负数
二进制序列(具体有多少位取决于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字节)宽,如果我们想要以二进制的方式来查看某个数据的时候,加上内容又多,就会导致可读性很差,因此将数据以八进制/十六进方式制显示会更容易阅读点