符號數
二進制符號數,其格式爲
爲了區別書寫表示的帶符號的二進制數和數字系統中的帶符號二進制數,通常將用‘ + ’ ,‘ - ’ 表示正負的的二進制數稱爲符號數的真值,而把符號和數值一起進行編碼的二進制數成爲機器數。
常用的機器數就分爲原碼、反碼、補碼
設{[X1]真=−Xn−1Xn−2⋯X0X−1X−2⋯X−m[X2]真=+Xn−1Xn−2⋯X0X−1X−2⋯X−m
原碼:
原碼:符號位加上真值的絕對值,符號位0表示正,首位1表示負
具體數值:
則{[X1]原=0Xn−1Xn−2⋯X0X−1X−2⋯X−m[X2]原=1Xn−1Xn−2⋯X0X−1X−2⋯X−m
整數X:
[X]原={X2n+∣X∣if(X≥0)if(−2n<X<0)
小數X:
[X]原={X1+∣X∣if(X≥0)if(−1<X<0)
反碼:
反碼:正數的反碼是其本身,負數的反碼在原碼的基礎上符號位不變,其餘各位按位取反
{[X1]反=0X^n−1X^n−2⋯X^0X^−1X^−2⋯X^−m[X2]反=1X^n−1X^n−2⋯X^0X^−1X^−2⋯X^−m
具體數值:
整數X:
[X]反={X2n+1−1−∣X∣if(X≥0)if(−2n<X<0)
小數:
[X]反={X2−2−m−∣X∣if(X≥0)if(−1<X<0)
補碼:
補碼:正數的補碼是其本身,負數的補碼在原碼的基礎上符號位不變,其餘各位按位取反再+1,也就是反碼+1,注意是最低位+1
{[X1]補=0X^n−1X^n−2⋯X^0X^−1X^−2⋯X^−m+X−m[X2]補=1X^n−1X^n−2⋯X^0X^−1X^−2⋯X^−m+X−m
具體數值:
整數X:
[X]補={X2n+1−∣X∣if(X≥0)if(−2n<X<0)
小數:
[X]補={X2−∣X∣if(X≥0)if(−1<X<0)