4 .計算機內數值數據的表示及二進制編碼
計算機中的數值數據分成整數和實數兩大類。
( 1 )整數的表示計算機中的整數分為無符號整數和有符號整數。由于整數的小數點隱含在個位數的右面,也稱為定點數。
1 )無符號整數,這類整數一定是正整數,故無符號整數的所有二進位都用來表示數值,它們可以是 8 位、 16 位、 32 位或 64 位。 8 位二進制無符號整數,其十進制取值范圍為 0~255 ( 28~1 ) ,同理, 16 位二進制無符號整數,其十進制取值范圍為。0~65535 ( 216 一 1 )。在計算機中,無符號整數除了表示數據以外,也常用于表示地址。
2 )有符號整數,有符號整數必須使用一個二進位表示符號,稱為符號位。通常符號位放在二進制數的最左面的一位,即最高位,一般規定0表示” +”(正數) , 1 表示“-”(負數)。在計算機中有符號數的表示是將符號位和數值位一起編碼。為此引人兩個基本概念:機器數和真值,機器數是指數在計算機中的二進制表示形式,真值(或稱計算數的真值)是指帶符號位的機器數所對應的數值。
有符號整數在計算機內有三種編碼方法:原碼、補碼和反碼。
① 原碼表示法,此時計算數的最高一位表示符號,0表示正數,1 表示負數,其余各位則表示數值的大小(絕對值)。如:
x = + 0101010
[ x]原= 00101010 (不變)
x =-0101010
[ x] 原= 10101010 (負號“一”用 1 表示)
② 反碼表示法,對于正數,反碼表示和原碼表示相同;對于負數,其反碼是除符號位外,原碼的每位求反(即。0變為 1 , 1 變為 0 ) ,如:
x=+
0101010 [x]原= 00101010 .[x ]反=
00101010
x =-0101010
[x]原= 10101010 [x]反=
11010101
③ 補碼表示法,對于正數,補碼表示和原碼表示相同;對于負數,其補碼是將原碼除符號位外,原始的每位求反(即0變 1 , 1 變 0 ) ,末位加 1 ,如:
x = +
0101010 [x]原=00101010 [x]補= 00101010
x=-
0101010 [x]原= 10101010 [x]補= 11010110
在計算機中的整數常采用補碼表示。