差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
计算机组成与体系结构:数据的表示和运算 [2026/03/03 23:07] – [2.1.1 进位计数制] 张叶安计算机组成与体系结构:数据的表示和运算 [2026/03/03 23:54] (当前版本) – [2.1.3 原码、反码、补码、移码] 张叶安
行 4: 行 4:
  
 ==== 2.1.1 进位计数制 ==== ==== 2.1.1 进位计数制 ====
 +
 +考点1:进制
 +|进制|数码|基数|位权|
 +|二进制|0,1|2|$2^k$|
 +|八进制|0,1,3,4,5,6,7|8|$8^k$|
 +|十进制|0,1,3,4,5,6,7,8,9|10|$10^k$|
 +|十六进制|0,1,3,4,5,6,7,8,9,A,B,C,D,E,F|16|$16^k$|
 +考点2:进制的转换
  
 |转换|技巧|例题| |转换|技巧|例题|
-|其他进制 → 十进制|按权展开|$(1011.01)_2$、$(735)_8$、$(2A3)_{16}$|+|其他进制 → 十进制|按权展开|$(1011.01)_2$、$(735)_8$、$(2A3)_{16}$ 转十进制| 
 +|十进制 → 其他进制|整数部分除基取余倒序,小数部分乘基取整正序|$(13.6875)_{10}$ 转二进制、$(156)_{10}$ 转八进制、$(254)_{10}$ 转十六进制| 
 +|二进制 → 八进制|整数部分从右向左每三位一组,小数部分从左向右每三位一组|$(1011010.1101)_2$ 转八进制| 
 +|八进制 → 二进制|每位数字展开成三位二进制|$(275)_8$ 转二进制| 
 +|二进制 → 十六进制|整数部分从右向左每四位一组,小数部分从左向右每四位一组|$(11010110)_2$ 转十六进制| 
 +|十六进制 → 二进制|每位数字展开成四位二进制|$(3F)_{16}$ 转二进制| 
 +|八进制 ↔ 十六进制|先转二进制,再转目标进制|$(17)_8$ 转十六进制|
  
  
-=== 一、其他进制 → 十进制(按权展开)===+[[计算机组成与体系结构:数据的表示和运算:考点2例题答案]]
  
-<wrap em>【例1】</wrap> 二进制转十进制   
  
-$(1011.01)_2$ 
- 
-$= 1×2^3 + 0×2^2 + 1×2^1 + 1×2^0 + 0×2^{-1} + 1×2^{-2}$ 
- 
-$= 8 + 0 + 2 + 1 + 0 + 0.25$ 
- 
-$= 11.25$ 
- 
-$(1011.01)_2 = (11.25)_{10}$ 
- 
-<wrap em>【例2】</wrap> 八进制转十进制   
- 
-$(735)_8$ 
- 
-$= 7×8^2 + 3×8^1 + 5×8^0$ 
- 
-$= 7×64 + 3×8 + 5$ 
- 
-$= 448 + 24 + 5$ 
- 
-$= 477$ 
- 
-$(735)_8 = (477)_{10}$ 
- 
- 
- 
-<wrap em>【例3】</wrap> 十六进制转十进制   
- 
-$(2A3)_{16}$ 
- 
-$A = 10$ 
- 
-$= 2×16^2 + 10×16^1 + 3×16^0$ 
- 
-$= 2×256 + 10×16 + 3$ 
- 
-$= 512 + 160 + 3$ 
- 
-$= 675$ 
- 
-$(2A3)_{16} = (675)_{10}$ 
- 
- 
- 
-=== 二、十进制 → 其他进制 === 
- 
-== (1)十进制 → 二进制 == 
- 
-<wrap em>【例4】</wrap> 
- 
-$(13.6875)_{10}$ 
- 
-整数部分除2取余: 
- 
-<code> 
-13 ÷ 2 = 6  余 1 
-6 ÷ 2 = 3  余 0 
-3 ÷ 2 = 1  余 1 
-1 ÷ 2 = 0  余 1 
-</code> 
- 
-倒序得: 
- 
-$13_{10} = (1101)_2$ 
- 
-小数部分乘2取整: 
- 
-<code> 
-0.6875 × 2 = 1.375   取 1 
-0.375 × 2 = 0.75     取 0 
-0.75 × 2 = 1.5       取 1 
-0.5 × 2 = 1.0        取 1 
-</code> 
- 
-正序得: 
- 
-$0.6875_{10} = (.1011)_2$ 
- 
-最终结果: 
- 
-$(13.6875)_{10} = (1101.1011)_2$ 
- 
- 
- 
-== (2)十进制 → 八进制 == 
- 
-<wrap em>【例5】</wrap> 
- 
-$(156)_{10}$ 
- 
-<code> 
-156 ÷ 8 = 19  余 4 
-19 ÷ 8 = 2    余 3 
-2 ÷ 8 = 0     余 2 
-</code> 
- 
-$(156)_{10} = (234)_8$ 
- 
-== (3)十进制 → 十六进制 == 
- 
-<wrap em>【例6】</wrap> 
- 
-$(254)_{10}$ 
- 
-<code> 
-254 ÷ 16 = 15  余 14(E) 
-15 ÷ 16 = 0    余 15(F) 
-</code> 
- 
-$(254)_{10} = (FE)_{16}$ 
- 
-=== 三、二进制 ↔ 八进制 === 
- 
-== (1)二进制 → 八进制 == 
- 
-规则:整数部分从右向左每三位一组,小数部分从左向右每三位一组。 
- 
-<wrap em>【例7】</wrap> 
- 
-$(1011010.1101)_2$ 
- 
-整数部分分组: 
- 
-001 011 010 
- 
-对应八进制: 
- 
-1 3 2 
- 
-小数部分分组: 
- 
-110 100 
- 
-对应: 
- 
-6 4 
- 
-$(1011010.1101)_2 = (132.64)_8$ 
- 
- 
- 
-== (2)八进制 → 二进制 == 
- 
-<wrap em>【例8】</wrap> 
- 
-$(275)_8$ 
- 
-<code> 
-2 → 010 
-7 → 111 
-5 → 101 
-</code> 
- 
-$(275)_8 = (10111101)_2$ 
- 
- 
-=== 四、二进制 ↔ 十六进制 === 
- 
-== (1)二进制 → 十六进制 == 
- 
-<wrap em>【例9】</wrap> 
- 
-$(11010110)_2$ 
- 
-分组: 
- 
-1101 0110 
- 
-<code> 
-1101 → D 
-0110 → 6 
-</code> 
- 
-$(11010110)_2 = (D6)_{16}$ 
- 
-=== (2)十六进制 → 二进制 === 
- 
-<wrap em>【例10】</wrap> 
- 
-$(3F)_{16}$ 
- 
-<code> 
-3 → 0011 
-F → 1111 
-</code> 
- 
-$(3F)_{16} = (111111)_2$ 
- 
-=== 五、八进制 ↔ 十六进制 === 
- 
-规则:先转二进制,再转目标进制。 
- 
-<wrap em>【例11】</wrap> 
- 
-将 $(17)_8$ 转换为十六进制。 
- 
-第一步:转二进制 
- 
-<code> 
-1 → 001 
-7 → 111 
-</code> 
- 
-$(17)_8 = (001111)_2$ 
- 
-第二步:按四位分组 
- 
-0000 1111 
- 
-= 0F 
- 
-$(17)_8 = (F)_{16}$ 
 ==== 2.1.2 真值与机器数 ==== ==== 2.1.2 真值与机器数 ====
  
 **真值**:用正负号表示的数,如+1011、-1101 **真值**:用正负号表示的数,如+1011、-1101
  
-**机器数**:在计算机中表示的数,将符号数字化,0表示正,1表示负 +**机器数**:包含符号位和数值位两部分。符号位通常放在最高位(最左边),0表示正数,1表示负数。
- +
-一个数在计算机中的表示形式称为机器数,机器数包含符号位和数值位两部分。 +
- +
-符号位通常放在最高位(最左边),0表示正数,1表示负数。 +
- +
- +
-====== 原码・反码・补码・移码====== +
- +
-===== 一、原码 ===== +
- +
-最高位为符号位(0 正,1 负) +
- +
-其余位为绝对值 +
- +
-有两个 0(+0、-0) +
- +
-===== 二、反码 ===== +
- +
- +
-正数:与原码相同 +
- +
-负数:符号位不变,数值位按位取反 +
- +
-仍有两个 0 +
- +
-👉 本质:负数 = 原码数值位取反 +
- +
-===== 三、补码(重点)===== +
- +
-规则: +
- +
-正数:与原码相同 +
- +
-负数:按位取反 + 1 +
- +
-核心作用: +
- +
-<code> +
- +
-A - B = A + (-B)补 +
- +
-</code> +
- +
-👉 用加法代替减法 +
- +
-特点: +
- +
-0 唯一 ✅ +
- +
-最高位进位自动丢弃 +
- +
-n 位整数范围:$-2^n ~ 2^n - 1$ +
- +
-✅ 计算机实际采用 +
- +
-👉 本质:让减法变加法 +
- +
-===== 四、移码 ===== +
- +
-规则: +
- +
-$[X]移 = 2^n + X$ +
- +
-作用: +
- +
-常用于浮点数阶码 +
- +
-便于比较大小(无符号比较即可) +
- +
-👉 本质:整体平移一个常数 +
- +
-===== 五、核心对比总结 ===== +
- +
-^ 码制 ^ 是否双零 ^ 运算是否方便 ^ 用途 ^ +
-| 原码 | 是 | 否 | 早期表示 | +
-| 反码 | 是 | 否 | 过渡方案 | +
-| 补码 | 否 | ✅ 是 | 计算机整数 | +
-| 移码 | 否 | ✅ 是 | 浮点阶码 | +
- +
-===== 一句话记忆 ===== +
- +
- +
- +
-原:符号+绝对值 +
- +
-反:负数取反 +
- +
-补:负数取反+1(真正计算用)+
  
-移:整体加偏移,补码符号位取反+一般含符号位一共8位表示一个字符,扩展知识点:[[计算机组成与体系结构:数据的表示和运算:ascii]]
  
 +==== 2.1.3 原码、反码、补码、移码 ====
  
 +|码制|运算规则|正数例子(+5)|负数例子(-5)|+0|-0|0-0|
 +|原码|符号位0正1负,数值部分不变;符号位参与运算|00000101|10000101|00000000|10000000|10000000|
 +|反码|正数同原码;负数符号位不变,其余位按位取反|00000101|11111010|00000000|11111111|11111111|
 +|补码|正数同原码;负数 = 反码 + 1;符号位参与运算|00000101|11111011|00000000|00000000|00000000|
 +|移码|补码符号位取反(常用于表示浮点阶码)|10000101|01111011|10000000|10000000|10000000|
  
-**不同码制的比较(以8位为例):** 
-| 真值 | 原码 | 反码 | 补码 | 移码 | 
-| +127 | 01111111 | 01111111 | 01111111 | 11111111 | 
-| +0 | 00000000 | 00000000 | 00000000 | 10000000 | 
-| -0 | 10000000 | 11111111 | 00000000 | 10000000 | 
-| -1 | 10000001 | 11111110 | 11111111 | 01111111 | 
-| -127 | 11111111 | 10000000 | 10000001 | 00000001 | 
-| -128 | 无 | 无 | 10000000 | 00000000 | 
  
 +<编辑定位>
 ===== 2.2 定点数的运算 ===== ===== 2.2 定点数的运算 =====
  

该主题尚不存在

您访问的页面并不存在。如果允许,您可以使用创建该页面按钮来创建它。

  • 计算机组成与体系结构/数据的表示和运算.1772550433.txt.gz
  • 最后更改: 2026/03/03 23:07
  • 张叶安