

原码
用尾数表示真值的绝对值,符号位“0/1”对应“正/负”

若机器字长n+1位,原码整数的表示范围:−(2n−1)≤x≤2n−1{\color{Red} -(2^{n}-1)\leq x\leq 2^{n}-1}−(2n−1)≤x≤2n−1(关于原点对称)
真值0有+0{\color{Red} +0}+0 和 −0{\color{Red} -0}−0 两种形式

若机器字长 n+1 位,原码小数的表示范围:−(1−2−n)≤x≤1−2−n{\color{Red} -(1-2^{-n})\leq x\leq 1-2^{-n}}−(1−2−n)≤x≤1−2−n(关于原点对称)
真值0有+0{\color{Red} +0}+0 和 −0{\color{Red} -0}−0 两种形式
反码
若符号位为0,则反码与原码相同
若符号位为1,则数值位全部取反
若机器字长 n+1 位,反码整数的表示范围:−(2n−1)≤x≤2n−1{\color{Red} -(2^{n}-1)\leq x\leq 2^{n}-1}−(2n−1)≤x≤2n−1(关于原点对称)
若机器字长 n+1 位,反码小数的表示范围:−(1−2−n)≤x≤1−2−n{\color{Red} -(1-2^{-n})\leq x\leq 1-2^{-n}}−(1−2−n)≤x≤1−2−n(关于原点对称)
真值0有+0{\color{Red} +0}+0 和 −0{\color{Red} -0}−0 两种形式
[+0]原=0,0000000[+0]_{原}=0,0000000[+0]原=0,0000000 [−0]原=1,0000000[-0]_{原}=1,0000000[−0]原=1,0

本文详细解读了原码、反码、补码和移码在不同机器字长下表示整数和小数的范围,以及它们如何表示零和负数。重点讲解了各自的转换规则和真值表示,并强调了补码在加减运算中的便利性。
最低0.47元/天 解锁文章
2966

被折叠的 条评论
为什么被折叠?



