主頁 > 百科知識(shí) > 反碼和原碼轉(zhuǎn)換

反碼和原碼轉(zhuǎn)換

時(shí)間:2024-11-30 06:03:24 瀏覽量:

反碼的表示方法是: 正數(shù)的反碼是其本身,負(fù)數(shù)的反碼是在其原碼的基礎(chǔ)上,符號(hào)位不變,其余各個(gè)位取反。

[+1] = [0000 0001](原碼)= [0000 0001](反碼) [-1] = [1000 0001](原碼)= [1111 1110](反碼) 可見如果一個(gè)反碼表示的是負(fù)數(shù),人腦無法直觀的看出來它的數(shù)值。通常要將其轉(zhuǎn)換成原碼再計(jì)算。

原碼是使用二進(jìn)制表示一個(gè)數(shù)的一種方式,其中最高位是符號(hào)位,0表示正數(shù),1表示負(fù)數(shù),其余位表示數(shù)值大小。而反碼是將原碼中所有位取反,符號(hào)位不變。例如,一個(gè)4位二進(jìn)制數(shù)的原碼是1011,對(duì)應(yīng)的反碼就是0100。

原碼和反碼之間的轉(zhuǎn)換很簡(jiǎn)單。將原碼的符號(hào)位不變,其它位取反即可得到反碼;將反碼的符號(hào)位不變,其它位再次取反即可得到原碼。換句話說,如果原碼的符號(hào)位為1,表示負(fù)數(shù),那么其反碼的符號(hào)位為1,表示同樣的負(fù)數(shù);如果原碼的符號(hào)位為0,表示正數(shù),那么其反碼的符號(hào)位也為0,表示同樣的正數(shù)。

需要注意的是,負(fù)數(shù)的補(bǔ)碼才是計(jì)算機(jī)中所使用的表示方式,反碼僅用于一些特定的操作,如對(duì)負(fù)數(shù)取反。

正數(shù)的原碼、反碼、補(bǔ)碼是一致的。(例如:2的原碼:0000 0010,那么其反碼和補(bǔ)碼都是0000 0010)

負(fù)數(shù)的反碼顧名思義,是除了符號(hào)位與原碼一致,其余位都與原碼相反。(例如:-2的原碼是1000 0010,那么其反碼是1111 1101),負(fù)數(shù)的補(bǔ)碼則是在其反碼的基礎(chǔ)上加1。(例如:-2的反碼是1111 1110)

1、首先,數(shù)字除了我們平時(shí)最長(zhǎng)使用的十進(jìn)制數(shù)外,還有二進(jìn)制,八進(jìn)制,十六進(jìn)制等。這里我們的原碼,補(bǔ)碼,反碼之間轉(zhuǎn)換指的是二進(jìn)制數(shù)。

2、在二進(jìn)制數(shù)中,數(shù)字的正負(fù)是根據(jù)首位是0還是1來判斷的,如果首位是0,那么就是正數(shù),首位是1就代表負(fù)數(shù)。

3、從原碼到反碼,如果該數(shù)為正數(shù),也保持不變,如果首位是1,也就是說是負(fù)數(shù),就將除了首位的1除外的所有數(shù)字取反。

4、如果想要把原碼轉(zhuǎn)換成補(bǔ)碼,對(duì)正數(shù)來說,補(bǔ)碼與原碼相同,對(duì)負(fù)數(shù)來說,之間將反碼加1就可以得到補(bǔ)碼,計(jì)算示例如下圖所示。當(dāng)然,我們還可以將補(bǔ)碼轉(zhuǎn)換為原碼。如果是負(fù)數(shù)得到的補(bǔ)碼,可以通過求該補(bǔ)碼的補(bǔ)碼來得到原來的原碼。

TAG: 反碼

© 轉(zhuǎn)乾企業(yè)管理-上海店鋪裝修報(bào)建公司 版權(quán)所有 | 黔ICP備2023009682號(hào)

免責(zé)聲明:本站內(nèi)容僅用于學(xué)習(xí)參考,信息和圖片素材來源于互聯(lián)網(wǎng),如內(nèi)容侵權(quán)與違規(guī),請(qǐng)聯(lián)系我們進(jìn)行刪除,我們將在三個(gè)工作日內(nèi)處理。聯(lián)系郵箱:303555158#QQ.COM (把#換成@)