声明:通俗易懂和专业准确的权衡
计算机只认0和1,所有的数据都由 0 和 1 的组合:数字、字母、汉字、图片、音乐、电影、游戏、网页等都可以由很多的0/1组成。
比如 0100 0001
可能表示数字 65,可能表示大写字母A
,可能和其他更多的0/1共同组成一个汉字,也可能表示图片的一个点的颜色,其意义完全取决于人们约定的规则。
字节是计算机的基本单位。人们常说的一个Word 文档 40 KB,一张图片 4 MB,一首歌 10 MB,一部电影 4 GB,内存 8 GB,存储 512 GB等等。这里的大“B”就是Bytes,字节。
比特:宽带500M 宽带 实际上的指速度为 500Mbps的宽带,bps是 bit per seconds,即比特每秒。所以 500M 的宽带最快下载速度不是500MB/s,而是(500M bit/s)/(8 bit/byte)=62.5 MByte/s。比特,bit,一般用小b表示。
正着说一遍:每一个0/1叫做一个比特(bit),8个比特组成一个字节(Byte)。通常计算机一次最少处理一个字节。
反着再说一遍:一个字节有8个比特;每个比特只能是0或1,8个比特一共可以表示 2^8 = 256 种组合,可以代表256种含义(取决于人们约定的规则)。
首先想到用8个比特表示 0-255:人们约定,高位到低位每个bit有不同的权重,如此便可用8个bit表示0-255的所有数字
高位 | 低位 | |||||||
---|---|---|---|---|---|---|---|---|
权重 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
举例:0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
举例:35 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 |
举例:65 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 |
举例:128 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
举例:255 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
用0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F表示4个比特 0~15
一般加上前缀0x
,提醒读者接下来是16进制