初级程序员考试:小抄

差别

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

到此差别页面的链接

初级程序员考试:小抄 [2026/06/22 23:24] – 创建 张叶安初级程序员考试:小抄 [2026/06/22 23:25] (当前版本) – [含符号数值的表示] 张叶安
行 58: 行 58:
 | 移码 | **补码符号位取反** \\ (数值位不变) | 01100111 | 10011001 | 便于浮点数阶码比较,0唯一 | **浮点数阶码** \\ 便于比较指数大小(IEEE 754标准使用) | | 移码 | **补码符号位取反** \\ (数值位不变) | 01100111 | 10011001 | 便于浮点数阶码比较,0唯一 | **浮点数阶码** \\ 便于比较指数大小(IEEE 754标准使用) |
  
-以 8位补码 计算 10 - 25 = -15 为例,走一遍完整的二进制演算过程: 
- 
-第1步:找 +10 的补码 
- 
-+10 是正数,补码 = 原码 = 00001010 
- 
-第2步:找 -25 的补码(核心) 
- 
-· +25 的原码:00011001 
- 
-· 取反得反码:11100110 
- 
-· 末位 +1 得补码:11100111(这就是 -25 的补码表示) 
- 
-第3步:执行加法(CPU 实际做的事) 
- 
-<code> 
-  00001010   (+10) 
-+ 11100111   (-25 的补码) 
-──────────── 
-  11110001   (结果补码) 
-</code> 
- 
-第4步:将结果补码转回十进制(验证) 
- 
-· 结果 11110001,符号位为 1(负数) 
- 
-· 末位 -1 得反码:11110000 
- 
-· 取反得原码:10001111(符号位1不变,数值位 0001111 = 15) 
- 
-· 所以结果是 -15 ✅ 
- 
-额外观察:溢出处理 
- 
-这次计算中,最高位(第8位)没有产生进位,所以结果是正确的。 
- 
-如果计算 125 + 125 = 250(超出127范围): 
- 
-<code> 
-  01111101  (+125) 
-+ 01111101  (+125) 
-──────────── 
-  11111010  (结果为 -6 ❌ 溢出错误) 
-</code> 
- 
-符号位从 0 变成 1,产生了溢出,CPU 的溢出标志位(OF) 会置1提醒。 
  
 ====== ±0的表示 ====== ====== ±0的表示 ======

该主题尚不存在

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

  • 初级程序员考试/小抄.1782141851.txt.gz
  • 最后更改: 2026/06/22 23:24
  • 张叶安