在最底层,计算机中所有的信息都被编码为 0 和 1 的位模式——本章回答两个问题:位如何存储?位如何表示信息?
| 主线 | 对应章节 | 核心问题 |
|---|---|---|
| 位的存储 | 1.1 – 1.3 | 布尔运算、触发器、主存与海量存储——硬件如何记住 0 和 1? |
| 位的表示 | 1.4 – 1.7 | 文本、数值、图像、声音如何编码为位模式? |
| 数据的应用 | 1.8 – 1.10 | 压缩与差错控制如何让数据够用、可靠? |
课堂练习:每节 2 题单选(共 20 题),点击选项即刻判分并显示解析;全部答案汇总于页面末尾「参考答案」。
假设 0 表示假(false)、1 表示真(true)。为纪念逻辑数学先驱乔治·布尔(George Boole,1815—1864),处理真/假值的运算称为布尔运算。AND 仅当两输入都为 1 才输出 1;OR 至少一个为 1 即输出 1;XOR 在两输入不同时输出 1;NOT 只有一个输入,输出与输入相反。
| P | Q | P AND Q | P OR Q | P XOR Q |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 |
长位串难以抄录,十六进制记数法(hexadecimal notation)用 0~9、A~F 共 16 个符号各表示 4 个位,本书用前缀“0x”标记:
1011 0101 → 0xB5 1010 0100 1100 1000 → 0xA4C8
提示:从右往左每 4 位分一段,逐段查表替换即得十六进制。
当前字节按二进制解释为:65(也可读作 ASCII 字符 'A')。
RAM(Random Access Memory,随机存取存储器):由独立、可编址的单元组成,可按任意顺序访问——与海量存储“按块读写”形成对比。
DRAM(Dynamic RAM,动态存储器):把位存储为微小而快速消散的电荷,需要刷新电路反复补充,因此具有易失性。
SDRAM(Synchronous DRAM,同步动态存储器):采用附加同步技术,缩短从存储单元中取数的时间。
| 单位 | 习惯含义 |
|---|---|
| KB 千字节 | 1024 B(2¹⁰) |
| MB 兆字节 | 1024 KB |
| GB 吉字节 | 1024 MB |
| TB 太字节 | 1024 GB |
“千、兆”本是 1000 的幂;国际标准另立 kibi- / mebi- / gibi- / tebi- 专指 1024 的幂,但习惯用法仍流行——阅读时注意语境。
| 系统 | 记录原理 | 特点 |
|---|---|---|
| 磁盘 HDD | 磁介质涂层 | 机械旋转 + 磁头移动,毫秒级;TB 级联机大容量 |
| 光盘 CD/DVD/BD | 反射层偏差,激光检测 | 螺旋磁道,长于连续读取;多层 BD 可达 100 GB |
| 闪存 / SSD | 晶格截获电子 | 全电子、防震抗摔;反复擦写会损耗,SSD 以耗损均衡缓解 |
| 磁带 | 塑料带磁涂层 | 等待时间极长,但低成本、大容量,适合线性读写的归档备份 |
数量级对比:主存的工作以纳秒(10⁻⁹ 秒)计,机械存储系统的寻道与等待以毫秒(10⁻³ 秒)计——相差约百万倍。
H e l l o .
01001000 01100101 01101100 01101100 01101111 00101110
位图把图像看作像素网格:黑白每像素 1 位、灰度 8 位、彩色 RGB 共 3 字节;缺点是放大即模糊(“数字变焦”)。几何表示用直线与曲线描述形状,字体(TrueType / PostScript)和 CAD 因此能任意缩放而保持清晰。
教材图 1-12 示例:采样序列 0、1.5、2.0、1.5、2.0、3.0、4.0、3.0、0 —— 逐点绘制后连成波形。
MIDI 对比:单簧管演奏 D 音符 2 秒,MIDI 编码仅需 3 字节;按 44 100 次/秒采样则需两百多万个二进制位。
| 位 | 1 | 0 | 0 | 1 | 0 | 1 |
|---|---|---|---|---|---|---|
| 量值 | 32 | 16 | 8 | 4 | 2 | 1 |
32 + 4 + 1 = 37。带小数点的例子:101.101 = 4 + 1 + 1/2 + 1/8 = 5.625。
13 ÷ 2 = 6 … 余 1 6 ÷ 2 = 3 … 余 0
3 ÷ 2 = 1 … 余 1 1 ÷ 2 = 0 … 余 1
余数自下而上读 → 1101
二进制加法法则:0+0=0,1+0=1,1+1=10,1+1+1=11。
| 位模式 | 值 | 位模式 | 值 |
|---|---|---|---|
| 0111 | +7(最大) | 1111 | −1 |
| 0100 | +4 | 1100 | −4 |
| 0001 | +1 | 1001 | −7 |
| 0000 | 0 | 1000 | −8(最小) |
0111(7)+ 1011(−5)= 10010
截去最高进位 → 0010 = 2 ✓
余 8 记数法对照:1000 表示 0,1101 表示 +5,0011 表示 −5——符号位与补码恰好相反。
1989 年 9 月 19 日,一家医院多年来运行良好的计算机突然故障。原因:程序用 16 位补码记录距 1900 年 1 月 1 日的天数,那天恰好是第 32 768 天——超出 16 位补码最大正值 32 767,日期变成了负数。
启示:使用机器的人必须意识到“较小的值会累加成较大的值”。现今普遍使用 32 位补码(最大正值 2 147 483 647)。
| 步骤 | 操作 |
|---|---|
| ① | 拆分:符号位 0 | 指数 110 | 尾数 1011 |
| ② | 尾数左边放基数小数点 → .1011 |
| ③ | 指数 110 按余码解码为 +2 → 小数点右移 2 位 → 10.11 |
| ④ | 符号位 0 为非负值 → 10.11 = 2 + 3/4 = 2.75 |
① 丢位:8 位格式存 2+5/8(10.101),最右边的 1 放不进尾数域,实际存下 2+1/2。
② 无穷展开:1/10 在二进制中无穷循环——以美元为单位时一角钱都存不准;改以“分”为单位即可用整数精确存储。
③ 顺序敏感:(2½ + ⅛) + ⅛ 两次截断仍得 2½(错);2½ + (⅛ + ⅛) = 2¾(对)——先加小值。
# 国际货币换算
USD_to_GBP = 0.76 # 今日汇率
GBP_sign = '£'
dollars = 1000 # 待兑换美元
pounds = dollars * USD_to_GBP
print('Today, $' + str(dollars))
print('converts to ' + GBP_sign + str(pounds))
运行输出:Today, $1000
converts to £760.0
my_Boolean = True
→ 真/假值(1.1 节)
my_string = 'characters'
→ 文本(1.4 节)
my_integer = 5
→ 整数(1.6 节)
my_floating_point = 26.2
→ 浮点数(1.7 节)
有人已把程序设计(编码)视为现代读写能力中继阅读、写作、算术之后的又一基础支柱。
消息 xyx xyx xyx xyx,初始字典仅 x、y、空格。编码过程中把新遇到的“单词”加入字典:
xyx xyx xyx xyx → 121 3 4 3 4 3 4
解码时从同一个三条目小字典出发,同样能边解码边重建字典——无需随消息传送大字典。
| 标准 | 利用的“弱点” | 典型表现 |
|---|---|---|
| GIF | 调色板仅 256 色 | 简单动画、透明背景;不适合摄影 |
| JPEG | 人眼对亮度比对颜色敏感 | 色度 2×2 平均 + 8×8 离散余弦变换,压缩 10~30 倍 |
| MP3 | 人耳时域/频域掩蔽 | 删去听不到的细节,接近 CD 音质,≤ 64 Kbit/s |
| MPEG | 相邻视频帧高度相似 | I 帧整帧编码,帧间只记差别,约 40 Mbit/s |
压缩的真正动机往往不只是省空间——视频会议若每帧需 1 MB 而链路每秒只能传 1 KB,再好的画质也无济于事;音视频压缩首先是为了及时传输。
常见速率单位:Kbit/s(千位每秒)、Mbit/s(兆位每秒)、Gbit/s(吉位每秒)。1 GB 约可存 400 首 MP3 流行歌曲。
| 符号 | 编码 | 与 010100 的距离 |
|---|---|---|
| A | 000000 | 2 |
| B | 001111 | 3 |
| C | 010011 | 2 |
| D | 011100 | 1 ← 最近 |
收到 010100:它与合法模式 D 的汉明距离为 1,与其他任何合法模式至少为 2,故判定传输的字符是 D——差错被自动纠正。
若编码的最小汉明距离提高到 5,则可检 4 错、纠 2 错。设计这类编码属于代数编码理论(线性代数与矩阵理论的分支)。
应用实例:CD-DA 音频格式的纠错能力为“两张 CD 只出一个错”;交付软件的 CD 加强纠错至“20 000 张盘出一个错”。
| 题号 | Q1 | Q2 | Q3 | Q4 | Q5 | Q6 | Q7 | Q8 | Q9 | Q10 |
|---|---|---|---|---|---|---|---|---|---|---|
| 答案 | B | C | B | A | D | C | A | D | B | C |
| 题号 | Q11 | Q12 | Q13 | Q14 | Q15 | Q16 | Q17 | Q18 | Q19 | Q20 |
| 答案 | D | B | C | A | B | D | C | B | A | D |