小編給大家分享一下C語(yǔ)言中數(shù)據(jù)存儲(chǔ)方式知識(shí)點(diǎn)的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
C語(yǔ)言 數(shù)據(jù)存儲(chǔ)方式
一、源碼
一個(gè)數(shù)的原碼(原始的二進(jìn)制碼)有如下特點(diǎn):
最高位做為符號(hào)位,0表示正,為1表示負(fù)
其它數(shù)值部分就是數(shù)值本身絕對(duì)值的二進(jìn)制數(shù)
負(fù)數(shù)的原碼是在其絕對(duì)值的基礎(chǔ)上,最高位變?yōu)?
下面數(shù)值以1字節(jié)的大小描述:
十進(jìn)制數(shù) | 原碼 |
+15 | 0000 1111 |
-15 | 1000 1111 |
+0 | 0000 0000 |
-0 | 1000 0000 |
注:原碼表示法簡(jiǎn)單易懂,與帶符號(hào)數(shù)本身轉(zhuǎn)換方便,只要符號(hào)還原即可,但當(dāng)兩個(gè)正數(shù)相減或不同符號(hào)數(shù)相加時(shí),必須比較兩個(gè)數(shù)哪個(gè)絕對(duì)值大,才能決定誰(shuí)減誰(shuí),才能確定結(jié)果是正還是負(fù),所以原碼不便于加減運(yùn)算。
二、反碼
對(duì)于正數(shù),反碼與原碼相同
對(duì)于負(fù)數(shù),符號(hào)位不變,其它部分取反(1變0,0變1)
十進(jìn)制數(shù) | 反碼 |
+15 | 0000 1111 |
-15 | 1111 0000 |
+0 | 0000 0000 |
-0 | 1111 1111 |
注:反碼運(yùn)算也不方便,通常用來(lái)作為求補(bǔ)碼的中間過(guò)渡。
三、補(bǔ)碼
1、補(bǔ)碼說(shuō)明
在計(jì)算機(jī)系統(tǒng)中,數(shù)值一律用補(bǔ)碼來(lái)存儲(chǔ)。
補(bǔ)碼特點(diǎn):
對(duì)于正數(shù),原碼、反碼、補(bǔ)碼相同
對(duì)于負(fù)數(shù),其補(bǔ)碼為它的反碼加1
補(bǔ)碼符號(hào)位不動(dòng),其他位求反,最后整個(gè)數(shù)加1,得到原碼
十進(jìn)制數(shù) | 補(bǔ)碼 |
+15 | 0000 1111 |
-15 | 1111 0001 |
+0 | 0000 0000 |
-0 | 0000 0000 |
2、補(bǔ)碼的意義
在計(jì)算機(jī)系統(tǒng)中,數(shù)值一律用補(bǔ)碼來(lái)存儲(chǔ),主要原因是:
統(tǒng)一了零的編碼
將符號(hào)位和其它位統(tǒng)一處理
將減法運(yùn)算轉(zhuǎn)變?yōu)榧臃ㄟ\(yùn)算
兩個(gè)用補(bǔ)碼表示的數(shù)相加時(shí),如果最高位(符號(hào)位)有進(jìn)位,則進(jìn)位被舍棄
示例:用8位二進(jìn)制數(shù)分別表示+0和-0
十進(jìn)制數(shù) | 原碼 |
+0 | 0000 0000 |
-0 | 1000 0000 |
十進(jìn)制數(shù) | 反碼 |
+0 | 0000 0000 |
-0 | 1111 1111 |
說(shuō)明:不管以原碼方式存儲(chǔ),還是以反碼方式存儲(chǔ),0也有兩種表示形式。但是如果以補(bǔ)碼方式存儲(chǔ),補(bǔ)碼統(tǒng)一了零的編碼:
十進(jìn)制數(shù) | 補(bǔ)碼 |
+0 | 0000 0000 |
-0 | 10000 0000由于只用8位描述,最高位1丟棄,變?yōu)?000 0000 |
四、案例演示
模擬計(jì)算機(jī)運(yùn)算
1) 76 - 32
計(jì)算機(jī)算法:76+(-32)
2) 76
源碼:0100 1100
反碼:0100 1100
補(bǔ)碼:0100 1100
3) -32
源碼:1010 0000
反碼:1101 1111
補(bǔ)碼:1110 0000
4) 相加
1110 0000
0100 1100
5) 驗(yàn)算
結(jié)果:1 0010 1100
舍棄補(bǔ)碼:0010 1100
結(jié)果補(bǔ)碼:0010 1100
反碼:0010 1100
轉(zhuǎn)換源碼:0010 1100
注:由于舍棄補(bǔ)碼0為正數(shù),則轉(zhuǎn)換源碼與補(bǔ)碼相同。
6) 結(jié)果:44
注意事項(xiàng):
1、符號(hào)位 正數(shù):0
2、符號(hào)位 負(fù)數(shù):1
3、補(bǔ)碼計(jì)算結(jié)果,符號(hào)位超出大小限制則省略符號(hào)位
4、補(bǔ)碼結(jié)果:開(kāi)頭數(shù)字是1時(shí)、根據(jù)負(fù)數(shù)規(guī)則轉(zhuǎn)為源碼、開(kāi)頭0是為正數(shù)轉(zhuǎn)換
5、正數(shù):源碼、反碼、補(bǔ)碼、相同
6、負(fù)數(shù)源碼轉(zhuǎn)反碼:符號(hào)不變,其他位0變?yōu)?、1變?yōu)?
7、負(fù)數(shù)反碼轉(zhuǎn)補(bǔ)碼:反碼的結(jié)果之上加1
8、加完或減完結(jié)果 不能大于或小于負(fù)的127
看完了這篇文章,相信你對(duì)“C語(yǔ)言中數(shù)據(jù)存儲(chǔ)方式知識(shí)點(diǎn)的示例分析”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站jinyejixie.com,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。
本文標(biāo)題:C語(yǔ)言中數(shù)據(jù)存儲(chǔ)方式知識(shí)點(diǎn)的示例分析-創(chuàng)新互聯(lián)
當(dāng)前網(wǎng)址:http://jinyejixie.com/article26/dcijjg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)、品牌網(wǎng)站制作、靜態(tài)網(wǎng)站、搜索引擎優(yōu)化、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容