补数表示与浮点数|IT护照考试对策
针对IT护照考试,整理计算机内部的数值表示方法(2的补数表示的负数、IEEE 754浮点数格式)。
为什么要使用补数
计算机内部所有数值都只用0和1的位串表示,因此无法使用负号。需要一种特殊的机制来表示负数。广泛采用的就是补数表示。使用补数表示还有一个优点,即加法和减法可以用同一电路处理。
1的补数和2的补数
1的补数
1的补数是一种通过将所有位取反(0变1,1变0)来表示负数的方式。例如,4位中5(0101)的1的补数是1010。但这种方式存在一个缺点:0的表示有+0(0000)和-0(1111)两种形式。
2的补数(广泛使用)
2的补数定义为1的补数加1。这种方式将0的表示统一为一种,并且加法和减法可以用同一电路处理,因此被现代计算机标准采用。
用2的补数表示负数
我们来看一下用4位表示-5的步骤。首先,将+5表示为0101。然后,将所有位取反得到1010(1的补数)。最后,加1得到1011,这就是-5的2的补数表示。验证一下,计算5+(-5)得到0101+1011=10000,舍弃第5位后为0000=0,因此可以确认正确。
n位可表示的范围
无符号整数可以表示0到2ⁿ-1。有符号整数(2的补数)可以表示-2ⁿ⁻¹到2ⁿ⁻¹-1,如果是8位,则可以表示-128到+127。
浮点数表示
浮点数表示是一种使用符号、尾数和指数来表示数值的方式,形式为“符号×尾数×2的指数次方”。由于能高效处理很大或很小的数,广泛应用于科学计算等领域。IEEE 754标准被作为标准采用。
IEEE 754 单精度(32位)
| 部分 | 位数 | 内容 |
|---|---|---|
| 符号 | 1 | + 或 - |
| 指数部分 | 8 | 使用偏移量表示 |
| 尾数部分 | 23 | 小数点后的值 |
双精度(64位)中,指数部分为11位,尾数部分为52位,提供更广的范围和更高的精度。浮点数的优点是可以处理广泛的数值范围,但缺点是可能产生误差。
浮点数的误差
舍入误差是在近似无法表示的数值时产生的。精度丢失是在两个非常接近的值相减时有效位数减少的现象。信息丢失是在大数和小数相加时,较小的数值被忽略的现象。
IT护照考试的出题要点
用2的补数表示负数的步骤是高频考点。还需要掌握n位可表示的范围计算、浮点数和定点数的区别,以及浮点数中产生的误差类型。
历年真题的典型模式
- “用8位2的补数表示-1会是什么”型 → 11111111
- “浮点数中产生的误差是哪一个”型
相关术语
- 进制转换与逻辑运算(二进制・十六进制与逻辑运算)
- CPU・内存(CPU・内存・存储的区别)
学习技巧
反复口头练习2的补数的步骤“位取反→+1”,考试时就能快速计算。记住8位的范围(-128〜+127)会很方便。误差类型请将“舍入误差・精度丢失・信息丢失”这3个作为一组来记忆。
总结
只要扎实理解2的补数的计算步骤、n位可表示的范围、以及浮点数的误差这三点,就能在相关题目中稳定得分。想要系统学习技术类内容,请参考技术类汇总;想要进行实战练习,请使用模拟考试。
関連記事
二进制・十六进制与逻辑运算基础|IT护照考试对策
针对IT护照考试范围,整理二进制、十进制、十六进制的转换方法,以及AND・OR・NOT・XOR的逻辑运算规则。
CPU・内存・存储的区别|IT护照考试对策
针对IT护照考试,整理计算机五大设备、CPU的时钟频率・核心数、内存层级(缓存・主存・辅助存储)的区别。
5G是什么?|面向IT护照考试整理的4G差异与活用案例
针对IT护照考试,整理了5G(第5代移动通信)的三大特征(高速、低延迟、多设备同时连接)、与4G的差异,以及在自动驾驶、远程医疗中的应用。