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