1.原码表示法
(1)整数原码的定义为:
            式中x为真值,n为整数的位数。
小数原码的定义为
 
注:正数的原码是把符号位改为‘0’,负数的原码把符号位改为‘1’ 即可。
例:当x=+0.1101时,[x]=0.1101
当x=-0.1101时,[x]=1-(-0.1101)=1.1101
2)原码的表数范围。
对于定点整数:
  一个n+1位原码能表示的最大正数为01…11,即2n-1;能表示的最小数为绝对值最大的负数111…1,即-(2n-1)。所以原码能表示的数值范围为: -(2n-1) ≤ x≤ 2n-1。
例:字长为8位的定点整数,x的原码的表示范围为(-127 ,127).
对于定点小数:
  一个n+1位定点小数原码能表示的最大正数为0.1…11,即1-2-n;能表示的最小数为绝对值最大的负数为1.11…1,即-(1-2-n)。定点小数原码的数值范围为: -(1-2-n) ≤ x≤ 1-2-n
2码表示法
例:正数的反码和原码一样,负数的反码把原码除符号位以外的所有位取反。
例:字长为8位的定点整数,x的反码的表示范围为(-127 ,127).
3码表示法
(1)整数码的定义为:
    
式中x为真值,n为整数的位数。
小数补码的定义为
 
注:正数的补码是和原码相同,负数的补码把原码除符号位以外的所有为取反(反码),再加‘1’
例:当x=+0.1101时,[x]=0.1101,[x]=0.1101
当x=-0.1101时,[x]=1.1101, [x]=1.0010+1=1.0011
[x]=2+x=10.0000-0.1101=1.0011 
(2)补码的表数范围。一个n+1位整数补码能表示的最大数是011…1,即2n-1;能表示的最小数为100…0,即-2n。所以它能表示的数值范围是:-2n≤ x≤ 2n-1
例:字长为8位的定点整数,x的补码的表示范围为(-128 ,127).
一个n+1位小数补码能表示的最大数是0.11…1,即1-2-n;能表示的最小数为1.00… 0,即-1。所以它能表示的数值范围是:-1≤ x≤ 1-2-n
例:字长为8位的定点小数,x的补码的表示范围为(-1,1-1/128).
4码表示法
(1)整数码的定义为
[x]=2n+x (2n>x≥-2n)  式中x为真值,n为整数的位数。
注:移码就是把真值的补码的符号位取反,即将补码的符号位由“0”改为“1”,或从“1”改为“0”
例:当x=+0.1101时,[x]=0.1101,[x]=0.1101,[x]=1.1101
当x=-0.1101时,[x]=1.1101, [x]=1.0011,[x]=0.0011
(2)移码的表示的数值范围与补码能表示数值范围相同是:-2n≤ x≤ 2n-1
例:字长为8位的定点整数,x的移码的表示范围为(-128 ,127).
例:“0”的原码、反码、补码表示法。
1 [+0.0000]=0.0000
[-0.0000]=1-(0.0000)=1.0000
2 [+0.0000]=0.0000
[-0.0000]=(10.0000-0.0001)-0.0000=1.1111
3 [+0.0000]=0.0000
[-0.0000]=2+(-0.0000)=10.0000-0.0000=0.0000
4 [+0小数的原码]移=1,0000
[-0]移=1,0000
可见‘0’的原码和反码有两种表示形式,而补码、移码表示零惟一
注:真值、原码、反码、补码、移码等间的相互转化
正数的原码是把真值的符号位改为‘0’,负数的原码把符号位改为‘1’。
正数的反码、补码和原码一样,移码是把符号位改为相反数。
负数的反码转为原码:把除符号位以外的所有位取反。
负数的补码转为原码:把除符号位以外的所有位取反,所得的真值,再减1。或者,把补码减一,然后将除符号位以外的所有位取反即可。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。