05 / 信息表示与硬件:数字怎样成为动作 · 小节 1
二进制、编码与数值范围
能在二、八、十、十六进制间转换,解释溢出与编码。
大纲要求的教学展开 · 技术讲解 · 本节来源与考点
从一个问题开始
同样8个0和1,为何有时代表200,有时代表−56,有时代表一个字符?
同一位串,解释规则不同
13按二进制位权拆成8+4+1。
8位正5:00000101,按位取反。
取反后加1得到−5的补码。
原创教学示意 · 手动播放,可随时暂停;折叠或离开小节时停止。
把这件事讲清楚
r进制按位权r的幂展开。二进制每位0或1;3位二进制对应1位八进制,4位对应1位十六进制,十六进制A到F代表10到15。bit是1位,byte通常8位。编码规定比特串的解释规则,不能只看位串猜类型。8位无符号范围0至255;8位有符号补码范围−128至127。负数补码可由相应正数按位取反再加1得到。
字符编码把字符对应到数值或字节序列;Unicode规定字符码点,UTF-8是其变长编码方式,不能认为所有汉字都恰好占2字节。定点预设小数点位置;浮点用符号、指数、有效数字表达近似数,范围大但不能精确表示所有实数。
为什么成立 · 关键推导
十进制转整数二进制:反复除2取余,余数倒序;二进制转十进制:逐位乘位权求和。补码加法保留指定位宽,同号相加结果异号是有符号溢出的信号;无符号进位与有符号溢出不是同一概念。
入门例题 / 1
13连续除2的余数1、0、1、1,倒序1101;验证8+4+1=13。11010110按4位分为1101 0110,即D6;按3位从右补零011 010 110,即326₈。
典型应用与变式 / 2
8位−5:+5是00000101,取反11111010,加1成11111011。其无符号解释是251,补码解释是−5。01111111+1变10000000,127+1超有符号范围;不能把−128当正确数学和。
停一下,自己试一试
先独立作答;卡住时看提示,完成后再对照解析。
概念判断
UTF-8与Unicode是同一个层次吗?
需要一点提示
码点与存储字节的关系。
查看过程、答案与错因
不是。Unicode确定抽象字符与码点等,UTF-8把码点编码成字节;还存在UTF-16等编码方式。
计算与执行过程
将45转二进制和十六进制,求8位补码−6。
需要一点提示
45=32+8+4+1;−6取反加1。
查看过程、答案与错因
45=00101101₂=2D₁₆;6为00000110,−6为11111010。
条件与错误辨析
浮点0.1+0.2与0.3严格相等一定成立吗?
需要一点提示
十进制小数在二进制中可能无限循环。
查看过程、答案与错因
不保证。有限有效位需要舍入,比较近似测量应按误差要求使用容差,不能据一次误差宣称计算机不会加法。
带走这一句
比特串先有编码规则,才有数值或文字的含义。
05 / 信息表示与硬件:数字怎样成为动作 · 小节 2
逻辑门与组合电路
从条件写真值表,理解电路如何实现判断和加法。
大纲要求的教学展开 · 技术讲解 · 本节来源与考点
前置知识:二进制、编码与数值范围 · 符号回看
从一个问题开始
门禁要求“有证件且未过期”,怎样变成0和1的判断?
把这件事讲清楚
把假写0、真写1。与AND只在两输入全1时输出1;或OR只要一个1;非NOT翻转;异或XOR在两输入不同时为1。真值表枚举全部输入,两个输入共4行。德摩根律:非(A且B)等于非A或非B;非(A或B)等于非A且非B。逻辑表达式和按位操作需区分;C中&&是逻辑与,&是按位与。
为什么成立 · 关键推导
从自然语言列条件→枚举输入→填输出→找逻辑表达式→代回每行。半加器把两位a、b相加,和位s=a XOR b,进位c=a AND b;1+1在二进制中是10,恰好需要两根输出线。
入门例题 / 1
证件V、过期E,允许进入G=V且非E。00→0,01→0,10→1,11→0。按行检查可发现“有证件或未过期”会放进无证但未过期的人。
典型应用与变式 / 2
两位相加:a=1,b=1,s=0,c=1;a=1,b=0,s=1,c=0。多位加法还需要来自低位的进位输入,因此使用全加器或相应组合。
停一下,自己试一试
先独立作答;卡住时看提示,完成后再对照解析。
概念判断
异或是否等于“至少一个为真”?
需要一点提示
检查输入11。
查看过程、答案与错因
不等于。11时或为1,异或为0;异或表达恰好一个为真。
计算与执行过程
写出非(A或B)在00、01、10、11的结果。
需要一点提示
先或,再取反。
查看过程、答案与错因
依次1、0、0、0,等于非A且非B。
条件与错误辨析
把C表达式x&1解释成“x且1”有何风险?
需要一点提示
数字2的最低位是多少?
查看过程、答案与错因
按位与检查位,2&1=0;逻辑与2&&1为1。两者含义不同。
带走这一句
用真值表穷举检查,比凭语言直觉可靠。
05 / 信息表示与硬件:数字怎样成为动作 · 小节 3
一条指令怎样执行
把指令流、数据流和控制信号分开,解释性能瓶颈。
大纲要求的教学展开 · 技术讲解 · 本节来源与考点
从一个问题开始
点一下“借书”,为什么屏幕、内存、CPU和磁盘都会参与?
指令周期:控制与数据配合
取指:PC指出下一条指令地址。
译码:确定要做加法以及操作数位置。
执行:取到2和5后,运算器产生7。
写回:结果保存,再继续下一条指令。
原创教学示意 · 手动播放,可随时暂停;折叠或离开小节时停止。
把这件事讲清楚
CPU由执行运算的部件、控制部件与寄存器等构成。程序与数据放在存储器中;程序计数器PC指向待取指令,指令寄存器保存当前指令。一次典型执行经历取指、译码、取操作数、执行、写回,实际流水处理会重叠这些阶段。总线传送数据、地址与控制信息。输入输出设备通过接口与系统交换数据;中断让设备就绪时通知CPU,不必一直空等。
寄存器容量小而快;高速缓存利用时间/空间局部性;内存保存运行中工作集;SSD等持久存储断电后仍保留内容。缓存不等于硬盘备份。DMA允许设备与内存批量传输,CPU仍须设置与处理完成事件。
为什么成立 · 关键推导
跟踪“把内存A和B相加存C”:取加法指令→译码→读A、B到可运算位置→ALU相加→结果写回C→更新下一指令位置。性能受指令数、每指令平均周期CPI和时钟周期共同影响:CPU时间=指令数×CPI/主频。不能只看GHz。
入门例题 / 1
A=2、B=5。取到ADD指令不等于已执行;必须再获得操作数。运算器得到7,写回C,屏幕要等输出相关指令才显示。
典型应用与变式 / 2
程序执行10⁸条指令,平均CPI=2,主频2GHz,CPU时间=10⁸×2/(2×10⁹)=0.1秒;若等待网络1秒,总响应时间仍可能超过1秒,提高主频无法消除全部等待。
停一下,自己试一试
先独立作答;卡住时看提示,完成后再对照解析。
概念判断
关闭程序前只写在内存的数据一定能保留吗?
需要一点提示
区分易失与持久存储。
查看过程、答案与错因
不一定,普通内存断电丢失;应按需求持久化,缓存或界面显示成功不自动等于磁盘提交。
计算与执行过程
指令数不变,CPI从2降到1.5,主频不变,CPU时间变为几倍?
需要一点提示
用比例消去指令数和频率。
查看过程、答案与错因
1.5/2=0.75,减少25%。并非整个系统响应必然减少25%。
条件与错误辨析
设备采用中断后是否完全不占CPU?
需要一点提示
谁设置操作、处理中断?
查看过程、答案与错因
仍占。CPU要发起请求并处理中断;中断减少无效轮询,不是免费执行。
带走这一句
一条指令沿数据流走完,才算真正完成。
05 / 信息表示与硬件:数字怎样成为动作 · 小节 4
定点与浮点:小数也需要编码
逐位表示简单小数,理解范围与精度的区别。
大纲要求的教学展开 · 技术讲解 · 本节来源与考点
从一个问题开始
计算机为何精确存下0.5,却通常近似存0.1?
同一位串,解释规则不同
13按二进制位权拆成8+4+1。
8位正5:00000101,按位取反。
取反后加1得到−5的补码。
原创教学示意 · 手动播放,可随时暂停;折叠或离开小节时停止。
把这件事讲清楚
二进制小数位权依次为1/2、1/4、1/8……。定点约定小数位数,步长固定,例如无符号8位中4位为小数时步长1/16,最大255/16。浮点把数写成符号×有效数×2的指数,能够覆盖更大数量级,但相邻数间距随量级变化。
以常见IEEE 754 binary32正常数为例:1位符号、8位存储指数E、23位小数部分F,数值=(-1)ˢ×(1+F/2²³)×2ᴱ⁻¹²⁷。E=0与E=255为特殊编码范围,包含零、次正规数、无穷与NaN,不能用正常数公式一套到底。课程仅展开基础表示,不把所有浮点运算标准细节列为官方独立条目。
为什么成立 · 关键推导
小数乘2取整数部分,重复作用于余下小数:0.625×2=1.25记1,0.25×2=0.5记0,0.5×2=1记1,得到0.101₂。规格化1.5=1.1₂×2⁰,正常指数E=127。有限位放不下的尾数需要舍入。
入门例题 / 1
0.625=1/2+1/8=0.101₂。在4位小数定点中是0.1010,能精确表示;0.1则在二进制中循环,固定有限位只能近似。
典型应用与变式 / 2
1.5的binary32:符号0,指数01111111,小数100…0,合起来十六进制3FC00000。推算时隐含前导1不存到23位小数里,否则会错一位。
停一下,自己试一试
先独立作答;卡住时看提示,完成后再对照解析。
概念判断
范围越大就意味着小数精度越高吗?
需要一点提示
位数在指数与有效数间分配。
查看过程、答案与错因
不意味着。指数扩展范围,有效数位决定精度;二者不同。
计算与执行过程
求0.75的二进制,以及4位小数定点的最小正步长。
需要一点提示
0.75=1/2+1/4。
查看过程、答案与错因
0.11₂,写4小数位为0.1100;步长2⁻⁴=1/16。
条件与错误辨析
用正常浮点公式解释E=255是否可靠?
需要一点提示
特殊编码保留用途。
查看过程、答案与错因
不可靠。该指数用于无穷和NaN等特殊情况,必须根据小数部分进一步判断,不能把它简单当指数128的正常数。
带走这一句
小数点的位置与有效位数,决定表示的范围和误差。
章末 / 把知识接起来
综合训练
原创综合训练
将26转二与十六进制;求8位补码−3;画一条加法指令的执行过程;比较缓存与磁盘。
需要一点提示
编码先约定位宽与解释,指令区分取指与取数据。
查看过程、答案与错因
26=00011010₂=1A₁₆;−3=11111101。取指→译码→取操作数→运算→写回。缓存利用复用和局部性降低访问成本,磁盘/SSD承担持久存储,二者角色与性能不同。