計(jì)算機(jī)基礎(chǔ)
1.了解原碼、反碼、補(bǔ)碼之間的關(guān)系,以及它們的應(yīng)用
2.掌握二進(jìn)制中正負(fù)數(shù)原碼、反碼、補(bǔ)碼的區(qū)別。
3.利用原碼->反碼->補(bǔ)碼計(jì)算“正數(shù)+負(fù)數(shù)”的值
4.學(xué)會(huì)如何計(jì)算反碼的原碼(其實(shí)就是計(jì)算反碼的反碼)
心得:1,利用反碼計(jì)算數(shù)的加減,可將其它進(jìn)制的數(shù)轉(zhuǎn)換為二進(jìn)制的數(shù)。用符號(hào)位1表示負(fù)數(shù),0表示正數(shù)。綜合應(yīng)用其他進(jìn)制轉(zhuǎn)二進(jìn)制的知識(shí),進(jìn)行數(shù)的計(jì)算。
主要內(nèi)容:
-
原碼補(bǔ)碼反碼
主要內(nèi)容
* 數(shù)據(jù)的常見分類
* 機(jī)器數(shù)和機(jī)器數(shù)的真值
* 原碼
* 反碼
* 補(bǔ)碼
* 拓展知識(shí):為什么需要源碼和反碼
#### 數(shù)據(jù)的簡(jiǎn)單分類
[圖片上傳失敗...(image-c4b0b4-1590412798036)]
- 浮點(diǎn)數(shù)就是小數(shù)。
真值(計(jì)算機(jī)二進(jìn)制的數(shù)真正的值)(符號(hào)位+有效值)
在計(jì)算機(jī)中所有的數(shù)據(jù)是以二進(jìn)制保存的;
最高位表示符號(hào) 正負(fù);0表示正,1表示負(fù);
原碼(有正負(fù))符號(hào)位有一位
符號(hào)位:首先確定一個(gè)數(shù)的正負(fù),如果是正數(shù),首位用0表示;如果是負(fù)數(shù),首位用1表示;
有效位:真值的絕對(duì)值化為二進(jìn)制的形式;
將符號(hào)位和有效位拼接到一起;
反碼(特殊)(有正負(fù))
正數(shù):正數(shù)的反碼和原碼相同;
負(fù)數(shù):符號(hào)位不變,其余各位直接取反。負(fù)數(shù)先求原碼,在根據(jù)原碼求反碼。
764335->0111 0110 0100 0010 0101
-
d c a b
d->13 c->12 a->10 b->11
1101 1100 1010 1011
反碼也是由:符號(hào)位+有效位拼接
補(bǔ)碼
正數(shù):正數(shù)的原碼反碼補(bǔ)碼全部相同;
負(fù)數(shù):求得原碼,再求反碼,再反碼最后一位上+1,
為什么需要反碼和補(bǔ)碼
反碼:在設(shè)計(jì)計(jì)算機(jī)的時(shí)只設(shè)計(jì)了加法器,沒有減法器。使用加法器計(jì)算表示減法,
補(bǔ)碼:反碼解決了沒有減法器的問題,但是出現(xiàn)了正負(fù)相加0的表示不唯一,使用補(bǔ)碼進(jìn)行修正。
正數(shù)+負(fù)數(shù)=正數(shù)的反碼+負(fù)數(shù)的反碼
一個(gè)字節(jié)長(zhǎng)8位。溢位先不用管(不影響計(jì)算),當(dāng)前規(guī)則只計(jì)算8位內(nèi)運(yùn)算
補(bǔ)碼轉(zhuǎn)原碼
正數(shù):補(bǔ)碼=原碼=反碼
負(fù)數(shù):補(bǔ)碼的補(bǔ)碼
負(fù)數(shù):1111 1011
首位不變,其余取反,再加1
反碼轉(zhuǎn)原碼
正數(shù)不變
負(fù)數(shù);符號(hào)位不變,其余為取反。