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