位、字节、前缀
计算机数据的基本单位有位和字节,前缀可以更方便的表示数据大小。
位(bit)
是计算机中的最小单位,所有数据最终都由位组成,只能是0和1。例如:
1100 //这是4位
00111000 //这是8位
字节(Byte)
是存储的基本单位,几乎所有内存、文件大小都以字节为单位,8位=1字节。例如:
10100101 //这是1字节
00111000 10100101 //这是2字节
前缀
用于描述可以被量化的对象。在普通物理世界中,例如网络带宽、码率、硬盘容量等,使用10为基数。在计算机内部,例如内存、操作系统、地址等,使用2为基数。其中Mi代表以2为基数,但此前缀使用率不高,因此在计算机中,通常把i省略。
| 前缀符号 | 值 | 以10为基数 |
|---|---|---|
| T | 1 000 000 000 000 | 10^12 |
| G | 1 000 000 000 | 10^9 |
| M | 1 000 000 | 10^6 |
| k | 1 000 | 10^3 |
| 前缀符号 | 值 | 以2为基数 |
|---|---|---|
| T(i) | 1 099 511 627 776 | 2^40 |
| G(i) | 1 073 741 824 | 2^30 |
| M(i) | 1 048 576 | 2^20 |
| K(i) | 1 024 | 2^10 |
应用场景
文件大小
- 71.5 KB (73,312 字节)
73312 / 1024 ≈ 71.5 - 24.5 MB (25,723,856 字节)
25723856 / 1024 / 1024 ≈ 24.5 - 4.15 GB (4,463,164,993 字节)
4463164993 / 1024 / 1024 / 1024 ≈ 4.15
传输速率
某宽带产品速率为200Mbps,则互联网传输速率为200Mb/s,每秒能传输200/8=25MB,的数据。
音视频文件
例如,一个mp4文件时长为163s,文件大小为23.9M(i)B,其中视频轨道码率=828kb/s,音频轨道码率=395kb/s。则视频数据量约为828kb x 163 = 134,964kb = 16,870.5kB = 16,870,500B = 16475.09K(i)B = 16.09M(i)B,音频数据量约为395kb x 163 = 64,385kb = 8048.12kB = 8,048,120B = 7.67M(i)B,最终16.08M(i)B + 7.67M(i)B = 23.75M(i)B
进制转换
以下表为例,可以很方便的对常见大小进行进制转换。例如,8GB = 8 x 1024 x 1024 x 1024B = 2^3 x 2^10 x 2^10 x 2^10B = 2^33B,在内存地址中从0开始寻址,即8GB内存条寻址范围在0~(2^33-1)范围内,即0x0~(0x200000000-0x1)=0x0~0x1FFFFFFFF
|二进制|十进制|十六进制|
|---|---|---|
|1111|15|0xF|
参考资料
- 《计算机是如何工作的》第一章——计算机的硬件