版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第三章數(shù)據(jù)在計算機(jī)中的表示3.1進(jìn)位計數(shù)制及相互轉(zhuǎn)換
3.2數(shù)據(jù)在計算機(jī)中的表示
第三章數(shù)據(jù)在計算機(jī)中的表示3.1進(jìn)位計數(shù)制及相互轉(zhuǎn)換教學(xué)說明1.學(xué)時:課堂教學(xué)2-4學(xué)時,上機(jī)實(shí)驗(yàn)無2.目標(biāo):掌握數(shù)制以及數(shù)據(jù)在計算機(jī)中的表示3.內(nèi)容:數(shù)制及其轉(zhuǎn)換各種數(shù)據(jù)在計算機(jī)中的表示教學(xué)說明1.學(xué)時:課堂教學(xué)2-4學(xué)時,上機(jī)實(shí)驗(yàn)無在計算機(jī)內(nèi)部,數(shù)據(jù)的存儲和處理都是采用二進(jìn)制數(shù),主要原因是:
(1)二進(jìn)制數(shù)在物理上最容易實(shí)現(xiàn)。
(2)二進(jìn)制數(shù)的運(yùn)算規(guī)則簡單,這將使計算機(jī)的硬件結(jié)構(gòu)大大簡化。
(3)二進(jìn)制數(shù)的兩個數(shù)字符號“1”和“0”正好與邏輯命題的兩個值“真”和“假”相對應(yīng),為計算機(jī)實(shí)現(xiàn)邏輯運(yùn)算提供了便利的條件。但二進(jìn)制數(shù)書寫冗長,所以為書寫方便,一般用十六進(jìn)制數(shù)或八進(jìn)制數(shù)作為二進(jìn)制數(shù)的簡化表示。3.1進(jìn)位計數(shù)制及相互轉(zhuǎn)換
在計算機(jī)內(nèi)部,數(shù)據(jù)的存儲和處理都是采用二進(jìn)制數(shù),主要3.1進(jìn)位計數(shù)制及相互轉(zhuǎn)換
3.1.1進(jìn)位計數(shù)制
N=an-1×rn-1+an-2×rn-2+…+a0×r0+a-1×r-1+…+a-m×r-mR進(jìn)制數(shù)N可表示為:R進(jìn)制數(shù)用r個基本符號(例如0,1,2,…,r-1)表示數(shù)值基數(shù)權(quán)數(shù)碼678.34=6×102+7×101+8×100+3×10-1+4×10-23.1進(jìn)位計數(shù)制及相互轉(zhuǎn)換
3.1.1進(jìn)位計數(shù)制N=a3.1.2不同進(jìn)位計數(shù)制間的轉(zhuǎn)換
r進(jìn)制轉(zhuǎn)化成十進(jìn)制r進(jìn)制轉(zhuǎn)化成十進(jìn)制:數(shù)碼乘以各自的權(quán)的累加例:10101(B)=24+22+1=21101.11(B)=22+1+2-1+2-2=5.75101(O)=82+1=6571(O)=78+1=5101A(H)=163+16+10=4106進(jìn)制表示符號B二進(jìn)制O八進(jìn)制D十進(jìn)制H十六進(jìn)制演示:十進(jìn)制數(shù)轉(zhuǎn)換成八進(jìn)制數(shù)3.1.2不同進(jìn)位計數(shù)制間的轉(zhuǎn)換r進(jìn)制轉(zhuǎn)化成十進(jìn)制進(jìn)制表十進(jìn)制轉(zhuǎn)化成r進(jìn)制整數(shù)部分:除以r取余數(shù),直到商為0,余數(shù)從右到左排列。小數(shù)部分:乘以r取整數(shù),整數(shù)從左到右排列。100(D)=144(O)=64(H)例100.345(D)≈1100100.01011(B)1.3800.34520.69022
0.7602
1.520210025022521226232100010011
1.04八進(jìn)制100812818044110016604616十六進(jìn)制演示十進(jìn)制轉(zhuǎn)化成r進(jìn)制整數(shù)部分:除以r取余數(shù),直到商為0,二進(jìn)制、八進(jìn)制、十六進(jìn)制數(shù)間的相互轉(zhuǎn)換
64(H)=0110
0100(B)64144(O)=001
100
100(B)1441
101
101
110.110
101(B)=1556.65(O)155665110110
1110.1101
01(B)=36F.D4(H)36FD4一位八進(jìn)制數(shù)對應(yīng)三位二進(jìn)制數(shù)一位十六進(jìn)制數(shù)對應(yīng)四位二進(jìn)制數(shù)二進(jìn)制轉(zhuǎn)化成八(十六)進(jìn)制)整數(shù)部分:從右向左按三(四)位進(jìn)行分組小數(shù)部分:從左向右按三(四)位進(jìn)行分組不足補(bǔ)零二進(jìn)制、八進(jìn)制、十六進(jìn)制數(shù)間的相互轉(zhuǎn)換64(H)=0110二進(jìn)制、八進(jìn)制、十六進(jìn)制數(shù)間的關(guān)系
八進(jìn)制
對應(yīng)二進(jìn)制
十六進(jìn)制對應(yīng)二進(jìn)制
十六進(jìn)制
對應(yīng)二進(jìn)制0000000008100010011000191001201020010A1010301130011B1011410040100C1100510150101D1101611060110E1110711170111F1111二進(jìn)制、八進(jìn)制、十六進(jìn)制數(shù)間的關(guān)系八進(jìn)制對應(yīng)二進(jìn)制十3.2數(shù)據(jù)在計算機(jī)中的表示
11111111101
0
0
1013.2數(shù)據(jù)在計算機(jī)中的表示1111符號位“0”表示正、“1”表示負(fù)
定點(diǎn)整數(shù)
3.2.1數(shù)值1.數(shù)的編碼表示
10101100S小數(shù)點(diǎn)無符號位S小數(shù)點(diǎn)
定點(diǎn)小數(shù)
符號位“0”表示正、“1”表示負(fù)定點(diǎn)整數(shù)符號位“0”表示正、“1”表示負(fù)運(yùn)算帶來問題復(fù)雜性:
3.2.1數(shù)值1.數(shù)的編碼表示
10101100例3.9(-5)+4的結(jié)果應(yīng)為-1。但在計算機(jī)中若按照上面講的符號位同時和數(shù)值參加運(yùn)算,則運(yùn)算如下:
若要考慮符號位的處理,則運(yùn)算變得復(fù)雜。為了解決此類問題,引入了多種編碼表示方式,常用的是:原碼、反碼和補(bǔ)碼,其實(shí)質(zhì)是對負(fù)數(shù)表示的不同編碼。符號位“0”表示正、“1”表示負(fù)3.2.1數(shù)值1(3)補(bǔ)碼0X1|X|0<=XX<=0+7:00000111+0:00000000
-7:10000111 -0:10000000[X]原=+7:00000111+0:000000000X1|X|0<=XX<=00X1|X|+10<=XX<=0+7:00000111+0:00000000-7:11111000-0:11111111-7:11111001-0:00000000(2)反碼[X]反=[X]反=帶符號數(shù)的表示
假定一個數(shù)在機(jī)器中占用8位。(1)原碼(3)補(bǔ)碼0X1|X|0<=XX<=0+7:0000011原碼、反碼與補(bǔ)碼機(jī)器數(shù)與真值
(1)
機(jī)器數(shù):帶符號的二進(jìn)制數(shù)稱之為機(jī)器數(shù).
二進(jìn)制數(shù)最高位作為符號位:1表示負(fù)數(shù),0表示正數(shù)。例:取8位字長時
10001111B則可以代表-15
00001111B則可以代表+15
原碼、反碼與補(bǔ)碼機(jī)器數(shù)與真值在微機(jī)中,機(jī)器數(shù)有三種表示方法,即原碼、反碼與補(bǔ)碼。真值:機(jī)器數(shù)所能表示的值在微機(jī)中,機(jī)器數(shù)有三種表示方法,即原碼、反碼與補(bǔ)碼。原碼表示法
若定點(diǎn)整數(shù)的原碼形式為X0X1X2……Xn,則原碼表示的定義是
X2n>X≥0[X]原=2n-X=2n+∣X∣0≥X>-2n
X0為符號位,若n=7,即字長8位,則①X取值范圍:-127~+127②[+0]原=00000000③[-0]原=10000000
原碼表示法若定點(diǎn)整數(shù)的原碼形式為X0X1
采用原碼表示法簡單易懂,但它最大缺點(diǎn)是加法運(yùn)算電路復(fù)雜,不容易實(shí)現(xiàn)。采用原碼表示法簡單易懂,但它最大缺點(diǎn)是加法運(yùn)算電路復(fù)反碼表示法
對于定點(diǎn)整數(shù),反碼表示的定義是:
X2n>X≥0[X]反=(2n+1-1)+X0≥X>-2n
同樣n取7,即字長8位,那么①X取值范圍:-127~+127②[+0]反=00000000③[-0]反=11111111反碼表示法對于定點(diǎn)整數(shù),反碼表示的定義是:補(bǔ)碼表示法
對于定點(diǎn)整數(shù),補(bǔ)碼表示的定義是:
X2n>X≥0[X]補(bǔ)=2n+1+X=2n+1-∣X∣0≥X≥-2n
同樣如果n取7,即字長8位,那么①X取值范圍:-128~+127②[+0]補(bǔ)=[-0]補(bǔ)=00000000③[-10000000]補(bǔ)=10000000④[[X]補(bǔ)]補(bǔ)=X,對已知的一個補(bǔ)碼通過再一次求其補(bǔ),便可還原出真值。補(bǔ)碼表示法對于定點(diǎn)整數(shù),補(bǔ)碼表示的定義是:
例:若字長8位,X=126,Y=-126,求[X]原、[X]反、[X]補(bǔ)和[Y]原、[Y]反、[Y]補(bǔ)。解:[X]原=[X]反=[X]補(bǔ)=01111110[Y]原=11111110[Y]反=10000001[Y]補(bǔ)=10000010例:若字長8位,X=126,Y=-126,求補(bǔ)碼的加減法運(yùn)算及溢出的判斷
(1)補(bǔ)碼加法運(yùn)算
規(guī)則:[X]補(bǔ)+[Y]補(bǔ)=[X+Y]補(bǔ)
條件:X、Y以及X+Y在定義域內(nèi)
特點(diǎn):符號位參與運(yùn)算;以2n+1為模進(jìn)行加法,最高位相加產(chǎn)生的進(jìn)位自然丟掉根據(jù)運(yùn)算后結(jié)果的符號位,對結(jié)果求補(bǔ),即[[X+Y]補(bǔ)]補(bǔ)=X+Y,便可還原出真值。補(bǔ)碼的加減法運(yùn)算及溢出的判斷(1)補(bǔ)碼加法運(yùn)算在下面所有例子的運(yùn)算過程中,假定字長均是8位例:X=+00001111,Y=+01000000,求X+Y解:[X]補(bǔ)=00001111[Y]補(bǔ)=0100000000001111+0100000001001111=[X+Y]補(bǔ)=X+Y,結(jié)果正確。例:X=-00001111,Y=01000000,求X+Y解:[X]補(bǔ)=11110001[y]補(bǔ)=0100000011110001+01000000100110001=[X+Y]補(bǔ)=X+Y,結(jié)果正確。在下面所有例子的運(yùn)算過程中,假定字長均是8位例:X=+00補(bǔ)碼減法運(yùn)算
由于X-Y=X+(-Y),所以補(bǔ)碼減法運(yùn)算仍可用加法運(yùn)算電路來完成,即[X]補(bǔ)+[-Y]補(bǔ)=[X-Y]補(bǔ),同樣通過[[X-Y]補(bǔ)]補(bǔ)=X-Y,可以還原出真值。條件是X、-X、X-Y必須在定義域內(nèi)。例:X=01000000Y=00001111,求X-Y解:[X]補(bǔ)=01000000[-Y]補(bǔ)=1111000101000000+11110001100110001=[X-Y]補(bǔ)=X-Y,結(jié)果正確。
補(bǔ)碼減法運(yùn)算由于X-Y=X+(-Y),所以溢出的判斷若參與操作的兩數(shù)在定義域內(nèi),但運(yùn)算結(jié)果超出了字長范圍內(nèi)補(bǔ)碼所能允許表示的值,所計算出的結(jié)果產(chǎn)生了錯誤,稱之為溢出例如字長8位,補(bǔ)碼表示數(shù)的范圍是:-128≤x≤+127,若字長n位,補(bǔ)碼所能表示數(shù)的范圍是-2n-1≤x≤2n-1-1,當(dāng)運(yùn)算結(jié)果超出這個范圍時,便產(chǎn)生溢出,兩個正數(shù)相加可能產(chǎn)生正的溢出,兩個負(fù)數(shù)相加可能會產(chǎn)生負(fù)的溢出,正負(fù)兩數(shù)相加不會產(chǎn)生溢出。溢出的判斷若參與操作的兩數(shù)在定義域內(nèi),但運(yùn)算結(jié)果超出了字長范
例:C7C601000000+64+01000001+6510000001+129>+127,結(jié)果錯誤,產(chǎn)生了溢出
兩個正數(shù)相加,結(jié)果為負(fù)數(shù)形式,這是由于+129>+127的原因,從上式可看出:C6=1,C7=0,OF=C6⊕C7=1⊕0=1,溢出標(biāo)志OF=1,表示有溢出。例:例:計算-128-1C7C6[-128]補(bǔ)=10000000+[-1]補(bǔ)=11111111101111111
兩個負(fù)數(shù)相加,結(jié)果為正數(shù)形式,這是由于-128-1=-129<-128的原因,從上式可看出C6=0,C7=1,OF=C6⊕C7=0⊕1=1,表示有溢出。例:計算-128-1例:計算64-1C7C6[+64]補(bǔ)=01000000+[-1]補(bǔ)=11111111100111111
運(yùn)算結(jié)果正確。C7=1,C6=1,則OF=C6⊕C7=1⊕1=0,無溢出。例:計算64-1
定點(diǎn)整數(shù)
2.定點(diǎn)數(shù)和浮點(diǎn)數(shù)表示S小數(shù)點(diǎn)無符號位S小數(shù)點(diǎn)
定點(diǎn)小數(shù)
定點(diǎn)數(shù)定點(diǎn)整數(shù)2.定點(diǎn)數(shù)和浮點(diǎn)數(shù)表示S小數(shù)點(diǎn)無符號位S小數(shù)
在計算機(jī)中,約定數(shù)據(jù)小數(shù)點(diǎn)的位置固定在某一位,原理上講,小數(shù)點(diǎn)的位置固定在哪一位都行,但是,通常有兩種定點(diǎn)格式,一是將小數(shù)點(diǎn)固定在數(shù)的最左邊(即純小數(shù)),二是固定在數(shù)的最右邊(即純整數(shù))。
(1).定點(diǎn)數(shù)的表示法在計算機(jī)中,約定數(shù)據(jù)小數(shù)點(diǎn)的位置固定在某一位,
例如,用寬度為n+1位的字來表示定點(diǎn)數(shù)X,其中X0表示數(shù)的符號,例如1代表負(fù)數(shù),0代表正數(shù),其余位代表它的數(shù)位,對于任意定點(diǎn)數(shù)X=X0X1X2……Xn,在定點(diǎn)計算機(jī)中可表示為:
①如果X為純小數(shù),小數(shù)點(diǎn)固定在X0與X1之間,數(shù)X的表示范圍為:0≤|X|≤1-2-n
②如果X為純整數(shù),小數(shù)點(diǎn)固定在Xn的右邊,數(shù)X的表示范圍為:0≤|X|≤2n-1
例如,用寬度為n+1位的字來表示定點(diǎn)數(shù)X,其(2).浮點(diǎn)數(shù)的表示法(1)
任意一個十進(jìn)制數(shù)N可以寫成
N=10E×M(1-3)任意一個二進(jìn)制數(shù)N可以寫成
N=2e×m(1-4)例如,N=101.1101=20011×0.1011101同樣,在計算機(jī)中一個任意進(jìn)制數(shù)N可以寫成:
N=Re×M
(2).浮點(diǎn)數(shù)的表示法(1)任意一個十進(jìn)制數(shù)N可以寫
其中,m為浮點(diǎn)數(shù)的尾數(shù),是一個純小數(shù),e是比例因子的指數(shù),稱為浮點(diǎn)數(shù)的指數(shù),是一個純整數(shù),比例因子的基數(shù)R是一個常數(shù),一般R取值為2,也有取值為8、16兩種情況。其中,m為浮點(diǎn)數(shù)的尾數(shù),是一個純小數(shù),e是比例因子的指數(shù)(2).浮點(diǎn)數(shù)的表示法(2)
在計算機(jī)中存放一個完整的浮點(diǎn)數(shù),應(yīng)該包括階碼、階符、尾數(shù)以及尾數(shù)的符號(數(shù)符)共4部分,即:ESE1E2……EmMSM1M2……Mn階符階碼數(shù)符尾數(shù)一般按照IEEE754標(biāo)準(zhǔn),采用32位浮點(diǎn)數(shù)和64位浮點(diǎn)數(shù)(2).浮點(diǎn)數(shù)的表示法(2)在計算機(jī)中存放一個完浮點(diǎn)數(shù)110.011(B)=1.10011×2+10=11001.1×2+10=0.110011×2+11階碼數(shù)符階符尾數(shù)1100110011N=數(shù)符尾數(shù)2階符階碼尾數(shù)的位數(shù)決定數(shù)的精度階碼的位數(shù)決定數(shù)的范圍
定點(diǎn)整數(shù)定點(diǎn)小數(shù)規(guī)格化的形式:尾數(shù)的絕對值大于等于0.1并且小于1,從而唯一地規(guī)定了小數(shù)點(diǎn)的位置。浮點(diǎn)數(shù)110.011(B)=1.10011×2+10=110
32位浮點(diǎn)數(shù)標(biāo)準(zhǔn)格式如下:IEEE75432位浮點(diǎn)數(shù)標(biāo)準(zhǔn)格式在32位浮點(diǎn)數(shù)中,約定基數(shù)R=2,S是尾數(shù)的符號位,即浮點(diǎn)數(shù)的符號位,它占一位,安排在最高位,0表示正數(shù),1表示負(fù)數(shù),尾數(shù)M占23位,放在低位部分,當(dāng)然是純小數(shù)。E是階碼,占8位,階碼采用了移碼方法來表示,將階碼上移127,即E=e+127。32位浮點(diǎn)數(shù)標(biāo)準(zhǔn)格式如下:IEEE75432位浮點(diǎn)數(shù)(2).浮點(diǎn)數(shù)的表示法(3)例:假設(shè)數(shù)N=2011×0.1011101,求規(guī)格化IEEE754標(biāo)準(zhǔn)32位浮點(diǎn)數(shù)的表示法。解:數(shù)N=2011×0.1011101=200000011×0.10111010000000000000000=200000010×1.01110100000000000000000于是求得數(shù)N的32位浮點(diǎn)數(shù)格式:S仍為0,E=e+127=00000010+01111111=10000001,E值減少一個。
(2).浮點(diǎn)數(shù)的表示法(3)例:假設(shè)數(shù)N=2011×0.1M=01110100000000000000000,M值左移一位。根據(jù)規(guī)格化32位浮點(diǎn)數(shù)的表示形式求數(shù)N的真值為:N=(-1)S×(1.M)×2E-127
M=011101000000000000000(2).浮點(diǎn)數(shù)的表示法(4)
64位浮點(diǎn)數(shù)格式
它與32位浮點(diǎn)數(shù)的組成原理相同,約定基數(shù)R=2,尾數(shù)符號位S占一位,置于最高位,規(guī)格化的尾數(shù)M占52位,最左邊一位1已被隱藏,階碼e上移1023,即E=e+1023,移碼形式的階碼占共計11位。反過來,已知一個規(guī)格化的64位浮點(diǎn)數(shù),求浮點(diǎn)數(shù)N的真值可表示為:N=(-1)S×(1.M)×2E-1023
(2).浮點(diǎn)數(shù)的表示法(4)64位浮點(diǎn)數(shù)格式3.2.2字符
西文字符
ACSII碼(AmericanStandardCodeforInformationInterchange)128個常用字符,用7位二進(jìn)制編碼,從0到127控制字符:0~32,127;普通字符:94個。例如:“a”字符的編碼為1100001,對應(yīng)的十進(jìn)制數(shù)是97;換行0AH10回車0DH13空格 20H 32‘0’~‘9’30H~39H 48~57‘A’~‘Z’41H~5AH 65~90‘a(chǎn)’~‘z’ 61H~7AH 97~1223.2.2字符西文字符漢字編碼(1)漢字輸入碼
音碼類全拼、雙拼、微軟拼音、自然碼和智能ABC等 形碼類五筆字型法、鄭碼輸入法等。(2)漢字國標(biāo)碼(GB2312-80)每個漢字占兩個字節(jié)。 一級漢字:3755個;二級漢字:3008個。 漢字分區(qū),每個區(qū)94個漢字。(3)機(jī)內(nèi)碼漢字在設(shè)備或信息處理系統(tǒng)內(nèi)部最基本的表達(dá)形式。漢字國標(biāo)碼漢字內(nèi)碼
中8680(0101011001010000)B (1101011011010000)B
華
5942(0011101100101010)B (1011101110101010)B
區(qū)號區(qū)中位置漢字編碼(1)漢字輸入碼區(qū)號區(qū)中位置(4)漢字字形碼點(diǎn)陣:漢字字形點(diǎn)陣的代碼
有16×16、24×24、32×32、48×48等編碼、存儲方式簡單、無需轉(zhuǎn)換直接輸出放大后產(chǎn)生的效果差矢量:存儲的是描述漢字字形的輪廓特征
矢量方式特點(diǎn)正好與點(diǎn)陣相反(5)漢字地址碼每個漢字字形碼在漢字字庫中的相對位移地址地址碼和機(jī)內(nèi)碼要有簡明的對應(yīng)轉(zhuǎn)換關(guān)系(4)漢字字形碼組平面行字位最高位為0基本多文種平面(BMP):0組0平面,包含字母、音節(jié)及表意文字等。例如:‘A’ 41H(ASCII) 00000041H(UCS) ‘大’ 3473H(GB2312) 00005927H(UCS)(6)其他漢字編碼UCS碼、Unicode碼、GBK碼、BIG5碼等
國際標(biāo)準(zhǔn):通用多八位編碼字符集UCS(UniversalCodeSet)世界各種文字的統(tǒng)一的編碼方案,一個字符占4個字節(jié)。分為:組平面行字位最高位為0基本多文種平面(BMP):0組0平面其他漢字編碼Unicode碼
另一國際標(biāo)準(zhǔn):采用雙字節(jié)編碼統(tǒng)一地表示世界上的主要文字。其字符集內(nèi)容與UCS的BMP相同。GBK碼GBK等同于UCS的新的中文編碼擴(kuò)展國家標(biāo)準(zhǔn),2字節(jié)表示一個漢字第一字節(jié)從81H~FEH,最高位為1;第二字節(jié)從40H~FEH,第二字節(jié)的最高位不一定是1。BIG5編碼臺灣、香港地區(qū)普遍使用的一種繁體漢字的編碼標(biāo)準(zhǔn),包括440個符號,一級漢字5401個、二級漢字7652個,共計13060個漢字。其他漢字編碼Unicode碼第三章數(shù)據(jù)在計算機(jī)中的表示3.1進(jìn)位計數(shù)制及相互轉(zhuǎn)換
3.2數(shù)據(jù)在計算機(jī)中的表示
第三章數(shù)據(jù)在計算機(jī)中的表示3.1進(jìn)位計數(shù)制及相互轉(zhuǎn)換教學(xué)說明1.學(xué)時:課堂教學(xué)2-4學(xué)時,上機(jī)實(shí)驗(yàn)無2.目標(biāo):掌握數(shù)制以及數(shù)據(jù)在計算機(jī)中的表示3.內(nèi)容:數(shù)制及其轉(zhuǎn)換各種數(shù)據(jù)在計算機(jī)中的表示教學(xué)說明1.學(xué)時:課堂教學(xué)2-4學(xué)時,上機(jī)實(shí)驗(yàn)無在計算機(jī)內(nèi)部,數(shù)據(jù)的存儲和處理都是采用二進(jìn)制數(shù),主要原因是:
(1)二進(jìn)制數(shù)在物理上最容易實(shí)現(xiàn)。
(2)二進(jìn)制數(shù)的運(yùn)算規(guī)則簡單,這將使計算機(jī)的硬件結(jié)構(gòu)大大簡化。
(3)二進(jìn)制數(shù)的兩個數(shù)字符號“1”和“0”正好與邏輯命題的兩個值“真”和“假”相對應(yīng),為計算機(jī)實(shí)現(xiàn)邏輯運(yùn)算提供了便利的條件。但二進(jìn)制數(shù)書寫冗長,所以為書寫方便,一般用十六進(jìn)制數(shù)或八進(jìn)制數(shù)作為二進(jìn)制數(shù)的簡化表示。3.1進(jìn)位計數(shù)制及相互轉(zhuǎn)換
在計算機(jī)內(nèi)部,數(shù)據(jù)的存儲和處理都是采用二進(jìn)制數(shù),主要3.1進(jìn)位計數(shù)制及相互轉(zhuǎn)換
3.1.1進(jìn)位計數(shù)制
N=an-1×rn-1+an-2×rn-2+…+a0×r0+a-1×r-1+…+a-m×r-mR進(jìn)制數(shù)N可表示為:R進(jìn)制數(shù)用r個基本符號(例如0,1,2,…,r-1)表示數(shù)值基數(shù)權(quán)數(shù)碼678.34=6×102+7×101+8×100+3×10-1+4×10-23.1進(jìn)位計數(shù)制及相互轉(zhuǎn)換
3.1.1進(jìn)位計數(shù)制N=a3.1.2不同進(jìn)位計數(shù)制間的轉(zhuǎn)換
r進(jìn)制轉(zhuǎn)化成十進(jìn)制r進(jìn)制轉(zhuǎn)化成十進(jìn)制:數(shù)碼乘以各自的權(quán)的累加例:10101(B)=24+22+1=21101.11(B)=22+1+2-1+2-2=5.75101(O)=82+1=6571(O)=78+1=5101A(H)=163+16+10=4106進(jìn)制表示符號B二進(jìn)制O八進(jìn)制D十進(jìn)制H十六進(jìn)制演示:十進(jìn)制數(shù)轉(zhuǎn)換成八進(jìn)制數(shù)3.1.2不同進(jìn)位計數(shù)制間的轉(zhuǎn)換r進(jìn)制轉(zhuǎn)化成十進(jìn)制進(jìn)制表十進(jìn)制轉(zhuǎn)化成r進(jìn)制整數(shù)部分:除以r取余數(shù),直到商為0,余數(shù)從右到左排列。小數(shù)部分:乘以r取整數(shù),整數(shù)從左到右排列。100(D)=144(O)=64(H)例100.345(D)≈1100100.01011(B)1.3800.34520.69022
0.7602
1.520210025022521226232100010011
1.04八進(jìn)制100812818044110016604616十六進(jìn)制演示十進(jìn)制轉(zhuǎn)化成r進(jìn)制整數(shù)部分:除以r取余數(shù),直到商為0,二進(jìn)制、八進(jìn)制、十六進(jìn)制數(shù)間的相互轉(zhuǎn)換
64(H)=0110
0100(B)64144(O)=001
100
100(B)1441
101
101
110.110
101(B)=1556.65(O)155665110110
1110.1101
01(B)=36F.D4(H)36FD4一位八進(jìn)制數(shù)對應(yīng)三位二進(jìn)制數(shù)一位十六進(jìn)制數(shù)對應(yīng)四位二進(jìn)制數(shù)二進(jìn)制轉(zhuǎn)化成八(十六)進(jìn)制)整數(shù)部分:從右向左按三(四)位進(jìn)行分組小數(shù)部分:從左向右按三(四)位進(jìn)行分組不足補(bǔ)零二進(jìn)制、八進(jìn)制、十六進(jìn)制數(shù)間的相互轉(zhuǎn)換64(H)=0110二進(jìn)制、八進(jìn)制、十六進(jìn)制數(shù)間的關(guān)系
八進(jìn)制
對應(yīng)二進(jìn)制
十六進(jìn)制對應(yīng)二進(jìn)制
十六進(jìn)制
對應(yīng)二進(jìn)制0000000008100010011000191001201020010A1010301130011B1011410040100C1100510150101D1101611060110E1110711170111F1111二進(jìn)制、八進(jìn)制、十六進(jìn)制數(shù)間的關(guān)系八進(jìn)制對應(yīng)二進(jìn)制十3.2數(shù)據(jù)在計算機(jī)中的表示
11111111101
0
0
1013.2數(shù)據(jù)在計算機(jī)中的表示1111符號位“0”表示正、“1”表示負(fù)
定點(diǎn)整數(shù)
3.2.1數(shù)值1.數(shù)的編碼表示
10101100S小數(shù)點(diǎn)無符號位S小數(shù)點(diǎn)
定點(diǎn)小數(shù)
符號位“0”表示正、“1”表示負(fù)定點(diǎn)整數(shù)符號位“0”表示正、“1”表示負(fù)運(yùn)算帶來問題復(fù)雜性:
3.2.1數(shù)值1.數(shù)的編碼表示
10101100例3.9(-5)+4的結(jié)果應(yīng)為-1。但在計算機(jī)中若按照上面講的符號位同時和數(shù)值參加運(yùn)算,則運(yùn)算如下:
若要考慮符號位的處理,則運(yùn)算變得復(fù)雜。為了解決此類問題,引入了多種編碼表示方式,常用的是:原碼、反碼和補(bǔ)碼,其實(shí)質(zhì)是對負(fù)數(shù)表示的不同編碼。符號位“0”表示正、“1”表示負(fù)3.2.1數(shù)值1(3)補(bǔ)碼0X1|X|0<=XX<=0+7:00000111+0:00000000
-7:10000111 -0:10000000[X]原=+7:00000111+0:000000000X1|X|0<=XX<=00X1|X|+10<=XX<=0+7:00000111+0:00000000-7:11111000-0:11111111-7:11111001-0:00000000(2)反碼[X]反=[X]反=帶符號數(shù)的表示
假定一個數(shù)在機(jī)器中占用8位。(1)原碼(3)補(bǔ)碼0X1|X|0<=XX<=0+7:0000011原碼、反碼與補(bǔ)碼機(jī)器數(shù)與真值
(1)
機(jī)器數(shù):帶符號的二進(jìn)制數(shù)稱之為機(jī)器數(shù).
二進(jìn)制數(shù)最高位作為符號位:1表示負(fù)數(shù),0表示正數(shù)。例:取8位字長時
10001111B則可以代表-15
00001111B則可以代表+15
原碼、反碼與補(bǔ)碼機(jī)器數(shù)與真值在微機(jī)中,機(jī)器數(shù)有三種表示方法,即原碼、反碼與補(bǔ)碼。真值:機(jī)器數(shù)所能表示的值在微機(jī)中,機(jī)器數(shù)有三種表示方法,即原碼、反碼與補(bǔ)碼。原碼表示法
若定點(diǎn)整數(shù)的原碼形式為X0X1X2……Xn,則原碼表示的定義是
X2n>X≥0[X]原=2n-X=2n+∣X∣0≥X>-2n
X0為符號位,若n=7,即字長8位,則①X取值范圍:-127~+127②[+0]原=00000000③[-0]原=10000000
原碼表示法若定點(diǎn)整數(shù)的原碼形式為X0X1
采用原碼表示法簡單易懂,但它最大缺點(diǎn)是加法運(yùn)算電路復(fù)雜,不容易實(shí)現(xiàn)。采用原碼表示法簡單易懂,但它最大缺點(diǎn)是加法運(yùn)算電路復(fù)反碼表示法
對于定點(diǎn)整數(shù),反碼表示的定義是:
X2n>X≥0[X]反=(2n+1-1)+X0≥X>-2n
同樣n取7,即字長8位,那么①X取值范圍:-127~+127②[+0]反=00000000③[-0]反=11111111反碼表示法對于定點(diǎn)整數(shù),反碼表示的定義是:補(bǔ)碼表示法
對于定點(diǎn)整數(shù),補(bǔ)碼表示的定義是:
X2n>X≥0[X]補(bǔ)=2n+1+X=2n+1-∣X∣0≥X≥-2n
同樣如果n取7,即字長8位,那么①X取值范圍:-128~+127②[+0]補(bǔ)=[-0]補(bǔ)=00000000③[-10000000]補(bǔ)=10000000④[[X]補(bǔ)]補(bǔ)=X,對已知的一個補(bǔ)碼通過再一次求其補(bǔ),便可還原出真值。補(bǔ)碼表示法對于定點(diǎn)整數(shù),補(bǔ)碼表示的定義是:
例:若字長8位,X=126,Y=-126,求[X]原、[X]反、[X]補(bǔ)和[Y]原、[Y]反、[Y]補(bǔ)。解:[X]原=[X]反=[X]補(bǔ)=01111110[Y]原=11111110[Y]反=10000001[Y]補(bǔ)=10000010例:若字長8位,X=126,Y=-126,求補(bǔ)碼的加減法運(yùn)算及溢出的判斷
(1)補(bǔ)碼加法運(yùn)算
規(guī)則:[X]補(bǔ)+[Y]補(bǔ)=[X+Y]補(bǔ)
條件:X、Y以及X+Y在定義域內(nèi)
特點(diǎn):符號位參與運(yùn)算;以2n+1為模進(jìn)行加法,最高位相加產(chǎn)生的進(jìn)位自然丟掉根據(jù)運(yùn)算后結(jié)果的符號位,對結(jié)果求補(bǔ),即[[X+Y]補(bǔ)]補(bǔ)=X+Y,便可還原出真值。補(bǔ)碼的加減法運(yùn)算及溢出的判斷(1)補(bǔ)碼加法運(yùn)算在下面所有例子的運(yùn)算過程中,假定字長均是8位例:X=+00001111,Y=+01000000,求X+Y解:[X]補(bǔ)=00001111[Y]補(bǔ)=0100000000001111+0100000001001111=[X+Y]補(bǔ)=X+Y,結(jié)果正確。例:X=-00001111,Y=01000000,求X+Y解:[X]補(bǔ)=11110001[y]補(bǔ)=0100000011110001+01000000100110001=[X+Y]補(bǔ)=X+Y,結(jié)果正確。在下面所有例子的運(yùn)算過程中,假定字長均是8位例:X=+00補(bǔ)碼減法運(yùn)算
由于X-Y=X+(-Y),所以補(bǔ)碼減法運(yùn)算仍可用加法運(yùn)算電路來完成,即[X]補(bǔ)+[-Y]補(bǔ)=[X-Y]補(bǔ),同樣通過[[X-Y]補(bǔ)]補(bǔ)=X-Y,可以還原出真值。條件是X、-X、X-Y必須在定義域內(nèi)。例:X=01000000Y=00001111,求X-Y解:[X]補(bǔ)=01000000[-Y]補(bǔ)=1111000101000000+11110001100110001=[X-Y]補(bǔ)=X-Y,結(jié)果正確。
補(bǔ)碼減法運(yùn)算由于X-Y=X+(-Y),所以溢出的判斷若參與操作的兩數(shù)在定義域內(nèi),但運(yùn)算結(jié)果超出了字長范圍內(nèi)補(bǔ)碼所能允許表示的值,所計算出的結(jié)果產(chǎn)生了錯誤,稱之為溢出例如字長8位,補(bǔ)碼表示數(shù)的范圍是:-128≤x≤+127,若字長n位,補(bǔ)碼所能表示數(shù)的范圍是-2n-1≤x≤2n-1-1,當(dāng)運(yùn)算結(jié)果超出這個范圍時,便產(chǎn)生溢出,兩個正數(shù)相加可能產(chǎn)生正的溢出,兩個負(fù)數(shù)相加可能會產(chǎn)生負(fù)的溢出,正負(fù)兩數(shù)相加不會產(chǎn)生溢出。溢出的判斷若參與操作的兩數(shù)在定義域內(nèi),但運(yùn)算結(jié)果超出了字長范
例:C7C601000000+64+01000001+6510000001+129>+127,結(jié)果錯誤,產(chǎn)生了溢出
兩個正數(shù)相加,結(jié)果為負(fù)數(shù)形式,這是由于+129>+127的原因,從上式可看出:C6=1,C7=0,OF=C6⊕C7=1⊕0=1,溢出標(biāo)志OF=1,表示有溢出。例:例:計算-128-1C7C6[-128]補(bǔ)=10000000+[-1]補(bǔ)=11111111101111111
兩個負(fù)數(shù)相加,結(jié)果為正數(shù)形式,這是由于-128-1=-129<-128的原因,從上式可看出C6=0,C7=1,OF=C6⊕C7=0⊕1=1,表示有溢出。例:計算-128-1例:計算64-1C7C6[+64]補(bǔ)=01000000+[-1]補(bǔ)=11111111100111111
運(yùn)算結(jié)果正確。C7=1,C6=1,則OF=C6⊕C7=1⊕1=0,無溢出。例:計算64-1
定點(diǎn)整數(shù)
2.定點(diǎn)數(shù)和浮點(diǎn)數(shù)表示S小數(shù)點(diǎn)無符號位S小數(shù)點(diǎn)
定點(diǎn)小數(shù)
定點(diǎn)數(shù)定點(diǎn)整數(shù)2.定點(diǎn)數(shù)和浮點(diǎn)數(shù)表示S小數(shù)點(diǎn)無符號位S小數(shù)
在計算機(jī)中,約定數(shù)據(jù)小數(shù)點(diǎn)的位置固定在某一位,原理上講,小數(shù)點(diǎn)的位置固定在哪一位都行,但是,通常有兩種定點(diǎn)格式,一是將小數(shù)點(diǎn)固定在數(shù)的最左邊(即純小數(shù)),二是固定在數(shù)的最右邊(即純整數(shù))。
(1).定點(diǎn)數(shù)的表示法在計算機(jī)中,約定數(shù)據(jù)小數(shù)點(diǎn)的位置固定在某一位,
例如,用寬度為n+1位的字來表示定點(diǎn)數(shù)X,其中X0表示數(shù)的符號,例如1代表負(fù)數(shù),0代表正數(shù),其余位代表它的數(shù)位,對于任意定點(diǎn)數(shù)X=X0X1X2……Xn,在定點(diǎn)計算機(jī)中可表示為:
①如果X為純小數(shù),小數(shù)點(diǎn)固定在X0與X1之間,數(shù)X的表示范圍為:0≤|X|≤1-2-n
②如果X為純整數(shù),小數(shù)點(diǎn)固定在Xn的右邊,數(shù)X的表示范圍為:0≤|X|≤2n-1
例如,用寬度為n+1位的字來表示定點(diǎn)數(shù)X,其(2).浮點(diǎn)數(shù)的表示法(1)
任意一個十進(jìn)制數(shù)N可以寫成
N=10E×M(1-3)任意一個二進(jìn)制數(shù)N可以寫成
N=2e×m(1-4)例如,N=101.1101=20011×0.1011101同樣,在計算機(jī)中一個任意進(jìn)制數(shù)N可以寫成:
N=Re×M
(2).浮點(diǎn)數(shù)的表示法(1)任意一個十進(jìn)制數(shù)N可以寫
其中,m為浮點(diǎn)數(shù)的尾數(shù),是一個純小數(shù),e是比例因子的指數(shù),稱為浮點(diǎn)數(shù)的指數(shù),是一個純整數(shù),比例因子的基數(shù)R是一個常數(shù),一般R取值為2,也有取值為8、16兩種情況。其中,m為浮點(diǎn)數(shù)的尾數(shù),是一個純小數(shù),e是比例因子的指數(shù)(2).浮點(diǎn)數(shù)的表示法(2)
在計算機(jī)中存放一個完整的浮點(diǎn)數(shù),應(yīng)該包括階碼、階符、尾數(shù)以及尾數(shù)的符號(數(shù)符)共4部分,即:ESE1E2……EmMSM1M2……Mn階符階碼數(shù)符尾數(shù)一般按照IEEE754標(biāo)準(zhǔn),采用32位浮點(diǎn)數(shù)和64位浮點(diǎn)數(shù)(2).浮點(diǎn)數(shù)的表示法(2)在計算機(jī)中存放一個完浮點(diǎn)數(shù)110.011(B)=1.10011×2+10=11001.1×2+10=0.110011×2+11階碼數(shù)符階符尾數(shù)1100110011N=數(shù)符尾數(shù)2階符階碼尾數(shù)的位數(shù)決定數(shù)的精度階碼的位數(shù)決定數(shù)的范圍
定點(diǎn)整數(shù)定點(diǎn)小數(shù)規(guī)格化的形式:尾數(shù)的絕對值大于等于0.1并且小于1,從而唯一地規(guī)定了小數(shù)點(diǎn)的位置。浮點(diǎn)數(shù)110.011(B)=1.10011×2+10=110
32位浮點(diǎn)數(shù)標(biāo)準(zhǔn)格式如下:IEEE75432位浮點(diǎn)數(shù)標(biāo)準(zhǔn)格式在32位浮點(diǎn)數(shù)中,約定基數(shù)R=2,S是尾數(shù)的符號位,即浮點(diǎn)數(shù)的符號位,它占一位,安排在最高位,0表示正數(shù),1表示負(fù)數(shù),尾數(shù)M占23位,放在低位部分,當(dāng)然是純小數(shù)。E是階碼,占8位,階碼采用了移碼方法來表示,將階碼上移127,即E=e+127。32位浮點(diǎn)數(shù)標(biāo)準(zhǔn)格式如下:IEEE75432位浮點(diǎn)數(shù)(2).浮點(diǎn)數(shù)的表示法(3)例:假設(shè)數(shù)N=2011×0.1011101,求規(guī)格化IEEE754標(biāo)準(zhǔn)32位浮點(diǎn)數(shù)的表示法。解:數(shù)N=2011×0.1011101=200000011×0.10111010000000000000000=200000010×1.01110100000000000000000于是求得數(shù)N的32位浮點(diǎn)數(shù)格式:S仍為0,E=e+127=00000010+01111111=10000001,E值減少一個。
(2).浮點(diǎn)數(shù)的表示法(3)例:假設(shè)數(shù)N=2011×0.1M=011101000
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版裝修公司抹灰施工合同范本
- 燃?xì)夤艿婪浪┕ず献鲄f(xié)議
- 環(huán)保工程承包管理合同
- 商務(wù)住宅租賃協(xié)議范本
- 北京溫泉度假村租賃協(xié)議
- 體育館內(nèi)部裝修協(xié)議
- 2024空調(diào)安裝服務(wù)合同
- 圖書館場地平整施工合同范本
- 河堤加固錨桿施工合同
- 建筑規(guī)劃甲方與施工方合同范本
- 人口基礎(chǔ)數(shù)據(jù)信息庫
- 妊娠合并貧血護(hù)理
- 完整解讀《義務(wù)教育課程方案(2022版)》PPT2022年新版義務(wù)教育課程實(shí)施方案最新發(fā)布義務(wù)教育課程方案(2022版)精品課件
- 6.ctg-mboss crm2.0渠道服務(wù)總線功能技術(shù)_v0.99
- 流動資金自動測算表(內(nèi)自帶計算公式)
- t-橋式起重機(jī)設(shè)計計算書
- 暴雨產(chǎn)流計算(推理公式河南省)
- 品質(zhì)管控流程(PPT32頁)
- 人教版小學(xué)數(shù)學(xué)六年級上冊:第八單元總復(fù)習(xí)教案(共10頁)
- 田字格硬筆書法練字專用A4打印版紅藍(lán)兩色
- 鐵路站房及配套工程裝飾裝修施工作業(yè)指導(dǎo)書
評論
0/150
提交評論