一、 无符号数
无符号数就是指正整数,机器字长的全部位数均用来表示数值的大小,相当于数的绝对值。
一、 有符号数
1、机器数与真值
带符号数是指在计算机中将数的符号数码化。在计算机中,一般规定二进制的最高位为符号位,最高位为“0”表示该数为正,为“1”表示该数为负。这种在机器中使用符号位也被数码化的数称为机器数,把带‘+’或‘-’符号的数称为真值。
根据符号位和数值位的编码方法不同,机器数分为原码,补码和反码。
2、原码表示法
机器数的最高位为符号位,0表示正数,1表示负数,数值跟随其后,并以绝对值形式给出。这是与真值最接近的一种表示形式。为了区别整数和小数,约定整数的符号位与数值位之间用逗号隔开;小数的符号位与数值位之间用小数点隔开。
3、补码表示法
(1)补数
对模12来说,-5可以用其补数+7表示。
一个负数可用它的正补数来代替,而这个正补数可以用模加上负数本身求得。
一个正数和一个负数互为补数时,它们的绝对值之和即为模数。
正数的补数即该正数本身。
(2)补码
x=+1010,则x的补码位0,1010
x=-0.1101,则x的补码为1.0011。
当真值为负时,补码可由原码除符号位外每位取反,末位加1求得。
4、反码表示法
反码通常用来作为由原码求补码或者由补码求原码的中间过渡。
5、三种机器数总结
(1)三种机器数的最高位均为符号位。符号数和数值部分之间可用“.”(小数)或“,”(整数)隔开。
(2)当真值为正