原碼、補(bǔ)碼、反碼之間是怎樣轉(zhuǎn)換的
發(fā)布時間:2025-09-24 | 來源:互聯(lián)網(wǎng)轉(zhuǎn)載和整理
正數(shù)的原碼、反碼、補(bǔ)碼是一致的。(例如:2的原碼:00000010,那么其反碼和補(bǔ)碼都是00000010)
負(fù)數(shù)的反碼顧名思義,是除了符號位與原碼一致,其余位都與原碼相反。(例如:-2的原碼是10000010,那么其反碼是11111101),負(fù)數(shù)的補(bǔ)碼則是在其反碼的基礎(chǔ)上加1。(例如:-2的反碼是11111110)
1、首先數(shù)字除了我們平時最長使用的十進(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ù)字取反。如下圖所示。點(diǎn)擊即可查看。
4、如果想要把原碼轉(zhuǎn)換成補(bǔ)碼,對正數(shù)來說補(bǔ)碼與原碼相同,對負(fù)數(shù)來說之間將反碼加1就可以得到補(bǔ)碼,計算示例如下圖所示。當(dāng)然我們還可以將補(bǔ)碼轉(zhuǎn)換為原碼。如果是負(fù)數(shù)得到的補(bǔ)碼,可以通過求該補(bǔ)碼的補(bǔ)碼來得到原來的原碼。如下。