# 为什么1个字节(byte)是8个比特(bit)

以前看书的时候,书上说1个字母是1个字节,1个字节是8个比特,1个汉字是2个字节,然后就把它背了下来,也没去想原因。

# 比特bit

比特(bit)是计算机的最小单位,它的值是0或1。我们计算机储存的,网络发送的数据包,本质上都是0和1的组合,多个bit组合在一起就可以表示出不同的值,如:

bit数量 可以表示的值
1 0 1
2 00 01 10 11
3 000 001 010 011 100 101 110 111

也就是N个bit可以表示出2的N次方的值。

# 字节的来由

最开始计算机只是处理数据运算,也就是0-9,加上运算符号,4bit足够了。举个例子(实际不是这样):用0000表示0,0001表示1,0010表示2,依次类推。

后来加入了字母,程序符号等,8bit也足够了,而这时诞生了ASCII编码的标准,大家就说把8bit表示出来的值叫做字节(byte)吧,于是就有了字节这个单位。

所以1byte等于8bit是计算机发展中的一个约定出来的规则。

# 扩展阅读

https://blog.csdn.net/qq_26222859/article/details/50557634 https://web.stanford.edu/class/cs101/bits-bytes.html