位
1、bit,比特
2、一个位可以表示两个值,0或者1(一个位只能表示0或者1,并不是能同时表示0和1)。
3、一个位为什么只能是2个值,而不能是3个值呢?这是由于技术因素造成的,在硬件中,如果用一个元器件来表示一个位的两个值是非常简单直接的,
4、比方说CPU,CPU是超大规模继承电路,如果用一个电路的开和关来表示0和1是很方便的,状态也是很稳定的。所以说由于技术因素造成了一个位只能表示2个值中的一个。
字节
1、Byte
2、一个字节由8个位组成。为什么一个字节是由8个位组成的呢?这是历史原因造成的,一个字节所对应的位数,历史上曾经一个字节由1~48位之间的位组成,但是最终人们选择了一个字节由8个位组成,这是为什么呢?英语中有26个字母,加上所有的标点符号、运算符号也就100~200个,用8个位表示一个字节,一个字节可以表示完这些所有的符号。所以说,人们最终选择了一个字节由8个位组成。
3、一个字节可以表示100~200个符号,准确的说,一个字节的8个位一共可以表示多少个数呢?2个位可以表达4个数:00、01、10、11。3个位就可以表达8个数,4位可以表达16个数,5位可以表达32个数,6位可以表达64个数,7位可以表达128个数,8位可以表达256个数。
一个字节由8个位组成,8个位可以表达256个数,也就是一个字节可以表达256个数。
如果人们约定每个数表达的符号是什么,那么一个字节就可以表达256个符号中的一个符号。
在往后算一算,如果9个位可以表达512个数,10个位可以表示1024个数。
1)如果一个位只能表达一个数的话,那么1000个数就需要1000个位,
2)一个位表示2个值的话,只需要10个位就可以表达1000个数,这相差太大了。
所以说一个位不能只表示1个值,至少得能表示2个值中的一个。