4. 二进制-Representing Numbers and Letters with Binary_BiliBili_哔哩哔哩_bilibili
1. 简介
在第 04 集中,视频主要介绍了计算机如何存储和表示数字数据,涵盖了从基本的二进制数到更复杂的浮点数,甚至包括字符编码方式。同时,还探讨了 8 位、32 位和 64 位计算机的发展及其在现代计算机中的应用。
2. 二进制基础
2.1 二进制与十进制的转换
十进制数使用 10 个数字(0 到 9),每位数字乘以相应的 10 的幂再相加得到最终值。例如,数字 263 表示为 2 个 100,6 个 10 和 3 个 1。二进制则只使用两个数字(0 和 1),每位数字乘以相应的 2 的幂。例如,二进制 101 对应十进制的 5,即 1×4 + 0×2 + 1×1。
2.2 二进制加法
二进制加法与十进制加法类似。举个简单的例子,二进制 11 (3) 加上 1 得到 100 (4)。与十进制一样,也需要进行进位处理,1 + 1 = 10(进 1)。
视频中复杂些的例子:183 + 19 = 202
3. 位与字节
每个二进制位(bit)表示 0 或 1。8 位组成一个字节(byte)。8 位的计算机处理数据时通常以 8 位为单位,这就是所谓的 8 位计算机。这种限制使得早期计算机只能显示 256 种颜色。
3.1 数据单位
- 字节(Byte): 1 Byte = 8 Bit
- 千字节(KB):1 KB = 2^10 Byte = 1024 Byte
- 兆字节(MB):1 MB = 2^10 KB = 1024 KB
- 千兆字节(GB):1 GB = 2^10 MB = 1024 MB
- 太字节(TB): 1 TB = 2^10 GB = 1024 GB
4. 32 位与 64 位计算机
32 位系统能表示大约 43 亿个不同的数值(2^32 - 1)。64 位系统能表示的范围更大,高达 9.2×10^18。这使得 64 位系统适应现代高大容量计算的需求,比如大型数据处理和高分辨率图像处理。
4.1 内存地址
随着容量增大,内存地址也从 32 位扩大到 64 位,能够标记更多存储位置。这解决了现代计算机运行复杂任务时存储需求不断扩大的问题。
5. 浮点数
浮点数表示方法(如 IEEE 754 标准)类似于科学计数法,如 625.9 可表示为 0.6259×10^3。
在 32 位浮点数表示中:
- 第 1 位表示符号位(正数或负数)。
- 接下来的 8 位表指数。
- 剩余的 23 位代表有效位数(significand)。
6. 字符编码
6.1 ASCII 编码
ASCII 是一种 7 位编码标准,包含 128 个字符编码,能表示基本的英文字母、数字和符号。扩展的 ASCII 使用了 8 位,增加至 256 个字符,可以表示更多符号和国家特定的字符。
6.2 Unicode
Unicode 是一套统一的字符编码标准,使用 16 位编码,可以表示超过 100 万个字符。Unicode 包含了几乎世界上所有语言字符,解决了不同国家字符编码不兼容的问题,减少了乱码现象。
7. 总结
- 计算机使用二进制数(0 和 1)表示和存储数据。
- 8 位组成一个字节,字节是数据存储的基本单位。
- 32 位和 64 位计算机扩展了数据表示范围和内存地址空间。
- 浮点数使用科学计数法进行编码,解决了非整数表示的问题。
- ASCII 和 Unicode 是两种主要的字符编码方式,前者适用于基本英文字母和符号,后者则包含了几乎世界上所有语言字符。