計算機(jī)二級C語言程序設(shè)計考點解析:運算
C語言是一門通用計算機(jī)編程語言,應(yīng)用廣泛。C語言的設(shè)計目標(biāo)是提供一種能以簡易的方式編譯、處理低級存儲器、產(chǎn)生少量的機(jī)器碼以及不需要任何運行環(huán)境支持便能運行的編程語言。下面是小編為大家?guī)淼年P(guān)于運算的知識,歡迎閱讀。
1.位的概念
大多數(shù)計算機(jī)系統(tǒng)的內(nèi)存儲器是由眾多的存儲單元構(gòu)成的'。在微機(jī)中,每個存儲單元是1個字節(jié),它由8位二進(jìn)制數(shù)構(gòu)成,可以表示28=256種信息,各位的編號從0~7,最左邊的位(第7位)是最高位,最右邊的位(第0位)是最低位。由于二進(jìn)制本身的特點,各位上的數(shù)字不是1,就是0。
本章中的位就是指上述提到的二進(jìn)制位,本章中的位運算就是指對這些二進(jìn)制的位進(jìn)行邏輯運算、移位運算等操作。
2.數(shù)的編碼
數(shù)在計算機(jī)中是以二進(jìn)制表示的,但是它并不是簡單地以它本身的數(shù)值的二進(jìn)制形式來直接表示,而要進(jìn)行一定的編碼,以方便計算機(jī)進(jìn)行處理。常用的編碼有原碼、反碼、補(bǔ)碼三種。
3.真值與原碼
我們將一個十進(jìn)制數(shù)的二進(jìn)制表示稱為這個十進(jìn)制數(shù)的真值,它代表了這個十進(jìn)制數(shù)本身的數(shù)值。下表列出了一些數(shù)的真值。
真值舉例
數(shù)二進(jìn)制表示真值(16位)
1
70
1
1110000000000000000
0000000000000001
0000000000000111
15
1111
0000000000001111
255
4095
6553511111111
111111111111
11111111111111110000000011111111
0000111111111111
1111111111111111
用真值表示的數(shù)只能是正數(shù),對于負(fù)數(shù),要用“一”號標(biāo)明,例如:
-7的真值為-0000000000000111-65535的真值為-1111111111111111
這勢必造成用計算機(jī)表示數(shù)時的不便,故引入了原碼表示法。
在原碼表示法中,最高位代表符號位,用“1”表示負(fù)數(shù),“0”表示正數(shù);余下的數(shù)位用來表示真值的絕對值。
數(shù)字零存在著兩種表示方法:+0與-0。
4.反碼
若采用反碼表示,則對應(yīng)的原碼應(yīng)按照以下方法進(jìn)行轉(zhuǎn)換:
(1)如果真值為正,則它的反碼與原碼相同;
(2)如果真值為負(fù),則反碼的符號位為1,其余各位就是對原碼取反(即原碼的1變?yōu)?,原碼的0變?yōu)?)。
5.補(bǔ)碼
(1)為什么要引入補(bǔ)碼
補(bǔ)碼具有許多獨特的優(yōu)點:首先它可以變減法運算為加法運算,使得計算時步驟統(tǒng)一,速度提高;其次,在這種系統(tǒng)下的“0”只有惟一的一種表示方法,這就是現(xiàn)代的計算機(jī)系統(tǒng)中大多采用補(bǔ)碼的原因。
(2)補(bǔ)碼的規(guī)定
、僬龜(shù)的原碼、補(bǔ)碼、反碼均相同;
、谟嬎阖(fù)數(shù)的補(bǔ)碼時,先置符號位為1,再對剩余原碼的位數(shù)逐位取反,最后對整個數(shù)加1。
在微機(jī)上以8位二進(jìn)制數(shù)為一字節(jié)的存儲單元中采用補(bǔ)碼系統(tǒng),它可以存放的最小整數(shù)為-128,最大整數(shù)為+127。若采用兩個字節(jié)來表示一個整數(shù),則可表示的最小整數(shù)為-32768,最大整數(shù)為+32767。
【計算機(jī)二級C語言程序設(shè)計考點解析:運算】相關(guān)文章:
計算機(jī)二級C語言程序設(shè)計考點:C語言的特點08-24
計算機(jī)二級C語言程序設(shè)計考點:C語言的應(yīng)用08-24
計算機(jī)二級C語言程序設(shè)計考點解析:程序設(shè)計基本08-24
計算機(jī)二級C語言程序設(shè)計考點解析:常用的輸人函數(shù)08-23
計算機(jī)二級C語言程序設(shè)計考點解析:常用的輸出函數(shù)08-23
計算機(jī)二級C語言程序設(shè)計考點:數(shù)組08-23