負(fù)數(shù)怎么轉(zhuǎn)化為二進(jìn)制 負(fù)數(shù)的二進(jìn)制轉(zhuǎn)換?
負(fù)數(shù)的二進(jìn)制轉(zhuǎn)換?計(jì)算機(jī)中的整數(shù)是用補(bǔ)碼存儲(chǔ)的,最高的位是符號(hào)位,C語(yǔ)言也遵循同樣的規(guī)則。如果最高位為0,則為正數(shù)。在計(jì)算時(shí),可以直接轉(zhuǎn)換成十進(jìn)制。如果最高位是1,則表示它是一個(gè)負(fù)數(shù)。求值時(shí),需要將二
負(fù)數(shù)的二進(jìn)制轉(zhuǎn)換?
計(jì)算機(jī)中的整數(shù)是用補(bǔ)碼存儲(chǔ)的,最高的位是符號(hào)位,C語(yǔ)言也遵循同樣的規(guī)則。如果最高位為0,則為正數(shù)。在計(jì)算時(shí),可以直接轉(zhuǎn)換成十進(jìn)制。如果最高位是1,則表示它是一個(gè)負(fù)數(shù)。求值時(shí),需要將二進(jìn)制值逐位求反,然后加1得到二進(jìn)制碼中的負(fù)數(shù)的絕對(duì)值(反數(shù)),然后將其轉(zhuǎn)換為10進(jìn)制,并加上負(fù)號(hào)。以char為例,char占用一個(gè)字節(jié),即8位。對(duì)于二進(jìn)制b10110011,十進(jìn)制的轉(zhuǎn)換過(guò)程是:先取逆,即1變?yōu)?,0變?yōu)?,得到:b0100 1100,再加1:b0100 1101進(jìn)行十進(jìn)制轉(zhuǎn)換,即根據(jù)每一位的權(quán)重乘以相應(yīng)的位值,結(jié)果相加。小數(shù)=0*2^7 1*2^6 0*2^5 0*2^4 1*2^3 1*2^2 0*2^1*2^0=0 6400 8 401=77加號(hào),最后的小數(shù)為-77。也就是說(shuō),b10110011表示的十進(jìn)制值是-77。