卡片 1:位置计数法与基数
问题: 进制数的基数、数码范围和第 位位权分别是什么?如何将任意 进制数还原为十进制值?
卡片 2:十进制整数、小数转换为 进制
问题:十进制整数和小数分别如何转换为 进制?读数方向为什么相反?
点击查看答案
- 整数部分:反复“除以 、取余数”,余数从后向前读。
每次余数给出当前最低有效位,所以最后得到的余数应最先读。- 小数部分:反复“乘以 、取整数”,整数从前向后读。
每次整数部分给出当前最高的小数位,所以立即顺序写下。小数部分若无法乘到 0,只能截断取近似值;例如十进制有限小数不一定是二进制有限小数。
关联笔记:数制与码制:数制转换
卡片 3:二、八、十六进制的快速转换
问题:二进制与八进制、十六进制如何快速转换?
点击查看答案
因为
所以 3 位二进制对应 1 位八进制,4 位二进制对应 1 位十六进制。转换时以小数点为界分组,再查对应数码:
- 整数部分从右向左分组;
- 小数部分从左向右分组;
- 不足一组时,在远离小数点的一端补 0。
例如 。
关联笔记:数制与码制:二、八、十六进制
卡片 4:固定位宽与无符号溢出
问题: 位无符号数能表示的范围是什么?为什么固定 位电路发生溢出等价于模 运算?
卡片 5:原码、反码、补码的核心差别
问题:同一 位有符号数在原码、反码、补码中的负数表示、零的个数和最小可表示值有何差异?
点击查看答案
项目 原码 反码 补码 负数 符号位为 1,数值位为绝对值 原码数值位取反 原码数值位取反再加 1 零 正零、负零各一个 正零、负零各一个 只有一个零 最小值 补码把减法统一为加法:
关联笔记:数制与码制:补码、数制与码制:三种机器码
卡片 6:补码的范围为什么更大一点?
问题: 位补码的表示范围是什么?为什么它比原码、反码多表示一个负数?
点击查看答案
位补码的范围为
三种编码都有 种比特模式。原码和反码把其中两种分别表示为 、,所以只有 个不同数值:
补码只有一个零 ;它把原来“负零”占用的模式 解释为 ,因此范围向负方向多一个。
关联笔记:数制与码制:补码、数制与码制:三种机器码
卡片 7:同一比特模式的解释
问题:为什么同一串比特必须先说明“位宽和解码方式”?
点击查看答案
比特串本身没有正负含义;它是无符号数、原码、反码还是补码,取决于约定的解码方式和位宽。
例如同一串 :
- 按 32 位无符号数 解码,为 ;
- 按 32 位补码有符号数 解码,为 ;
- 若位宽改为 16 位,则它只是两个 16 位比特串,不能仍按“一个 32 位数”解释。
关联笔记:数制与码制:位宽
卡片 8:定点数与浮点数的取舍
问题:定点数和浮点数的小数点分别如何处理?在 中,阶码和尾数各决定什么?
点击查看答案
- 定点数(Fixed Point):小数点位置固定,且不占存储位;纯整数的小数点隐含在最低位右侧,纯小数的小数点隐含在最高数值位左侧。
- 浮点数(Floating Point):
阶码 决定可表示的数值范围,尾数 的位数决定有效精度。因此浮点数适合同时覆盖很大、很小数值的场景,但精度受尾数位数限制。
关联笔记:数制与码制:定点数与浮点数
卡片 9:8421 BCD 的表示与加法校正
问题:BCD 与普通二进制整数表示的对象有什么不同?8421 BCD 一位加法何时要加 ,为什么?
点击查看答案
BCD(Binary-Coded Decimal) 用 4 位二进制编码一位十进制数字;一个 位十进制数占 位。它不是把整个十进制数直接转为普通二进制。
对 8421 BCD,每一位十进制数先按普通二进制相加。只有 表示 ;结果超过 ,或有进位时,就加 ,并把进位传给高一位。
例如:,结果非法;加 后为 ,即 的 BCD 为 。
该规则只适用于 8421 BCD,不能直接套用到 2421 码或余 3 码。
关联笔记:数制与码制:BCD 码
卡片 10:格雷码、字符编码与适用边界
问题:格雷码为什么适合模拟量转换却不适合直接算术?
点击查看答案
格雷码是无权码,相邻代码只改变 1 位,因此在模拟量跨越相邻量化值时,可减少多位同时翻转带来的读数错误;但它没有按位权展开的算术意义,不能直接做算术运算。
关联笔记:数制与码制:格雷码、数制与码制:字符编码