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