 原碼(ma)(ma)(ma)、反碼(ma)(ma)(ma)、補碼(ma)(ma)(ma)之間怎么(me)快速轉換,大神帶你輕松學
							時(shi)間:2018-04-20      來(lai)源:未知
							原碼(ma)(ma)(ma)、反碼(ma)(ma)(ma)、補碼(ma)(ma)(ma)之間怎么(me)快速轉換,大神帶你輕松學
							時(shi)間:2018-04-20      來(lai)源:未知 
							學習過計算機的(de)(de)(de)(de)哥(ge)們應(ying)該都知道,我們的(de)(de)(de)(de)計算機并不是(shi)(shi)以(yi)十進(jin)制(zhi)(zhi)、十六進(jin)制(zhi)(zhi)的(de)(de)(de)(de)方(fang)式進(jin)行數據的(de)(de)(de)(de)存儲的(de)(de)(de)(de),哪它是(shi)(shi)以(yi)什(shen)么(me)(me)(me)方(fang)式進(jin)行數據保(bao)存的(de)(de)(de)(de)呢(ni)?其(qi)實的(de)(de)(de)(de)數據存儲是(shi)(shi)以(yi)二(er)進(jin)制(zhi)(zhi)的(de)(de)(de)(de)方(fang)式進(jin)行保(bao)存的(de)(de)(de)(de)。二(er)進(jin)制(zhi)(zhi)里面只有“0”和(he)“1”,沒(mei)有別的(de)(de)(de)(de)符(fu)號(hao)和(he)其(qi)他(ta)的(de)(de)(de)(de)數值,二(er)進(jin)制(zhi)(zhi)存在原碼、反碼、補(bu)碼的(de)(de)(de)(de)的(de)(de)(de)(de)轉換,那(nei)么(me)(me)(me)這又是(shi)(shi)什(shen)么(me)(me)(me)東西呢(ni)?好,現在就讓我們來(lai)了解他(ta)們吧!
在前面,我(wo)們學(xue)習了十(shi)進(jin)制、八進(jin)制、十(shi)六進(jin)制等用來(lai)代表實(shi)際數(shu)值(zhi)的數(shu),稱為真值(zhi),這些(xie)數(shu)我(wo)們再日常生活中都會(hui)使用到(dao),那么在計算機中數(shu)值(zhi)是怎么來(lai)表示的呢?
數(shu)(shu)(shu)在計(ji)(ji)算(suan)機(ji)(ji)中的表(biao)示形(xing)式統稱為機(ji)(ji)器數(shu)(shu)(shu)。計(ji)(ji)算(suan)機(ji)(ji)中處理數(shu)(shu)(shu)據及運(yun)算(suan)都是采用(yong)二進(jin)(jin)制(zhi),通(tong)(tong)常(chang)規(gui)定機(ji)(ji)器數(shu)(shu)(shu)用(yong)八位(wei)二進(jin)(jin)制(zhi)表(biao)示。實用(yong)的數(shu)(shu)(shu)據有(you)正(zheng)數(shu)(shu)(shu)和負數(shu)(shu)(shu),因為計(ji)(ji)算(suan)機(ji)(ji)只能(neng)表(biao)示0、1兩種狀(zhuang)態(tai),數(shu)(shu)(shu)據的正(zheng)號(hao)“+”或(huo)負號(hao)“-”,在計(ji)(ji)算(suan)機(ji)(ji)里就用(yong)一(yi)位(wei)二進(jin)(jin)制(zhi)的0或(huo)1來(lai)區(qu)別,通(tong)(tong)常(chang)放在最(zui)高位(wei),成為符號(hao)位(wei)。 符號(hao)位(wei)數(shu)(shu)(shu)值化之后(hou),為能(neng)方(fang)(fang)便(bian)的對機(ji)(ji)器數(shu)(shu)(shu)進(jin)(jin)行算(suan)術(shu)運(yun)算(suan)、提高運(yun)算(suan)速(su)度,計(ji)(ji)算(suan)機(ji)(ji)設(she)計(ji)(ji)了多(duo)種符號(hao)位(wei)與數(shu)(shu)(shu)值一(yi)起編(bian)碼(ma)的方(fang)(fang)法(fa)(fa),最(zui)常(chang)用(yong)的機(ji)(ji)器數(shu)(shu)(shu)表(biao)示方(fang)(fang)法(fa)(fa)有(you):原碼(ma)、反碼(ma)、補碼(ma)和移碼(ma),下面就分別介紹一(yi)下它(ta)們的表(biao)示方(fang)(fang)法(fa)(fa)。
一、原碼(ma)、反碼(ma)、補碼(ma)
三種表示法的轉換(huan)過程如下:
  
說明:
特別的(de),在原(yuan)碼中(zhong)0有兩種(zhong)表示方式(shi):[+0]原(yuan)=0000000,[-0]原(yuan)=1000000。
在(zai)反(fan)(fan)碼表示中,0也有兩種(zhong)表示形式:[+0]反(fan)(fan)=0000000,[-0]反(fan)(fan)=11111111。
在補碼(ma)表(biao)示中,0有唯(wei)一的編(bian)碼(ma):[+0]補=0000000,[-0]補=0000000。
計(ji)算機之所以這些編碼方法是為了(le)便(bian)于運算,提高運算速度。三種表(biao)示(shi)方法其實是層(ceng)層(ceng)遞進(jin)(jin)的(de)(de),即會求十(shi)進(jin)(jin)制的(de)(de)二進(jin)(jin)制表(biao)示(shi),記住符號位的(de)(de)正(zheng)負表(biao)示(shi),知道怎么遞進(jin)(jin)的(de)(de)它們之間的(de)(de)關(guan)系(xi)。
總結:
正數的(de)原碼(ma),補碼(ma),反碼(ma)相同;
負(fu)數(shu)的(de)反(fan)(fan)碼(ma):符號位不(bu)變,原碼(ma)的(de)數(shu)值取反(fan)(fan);
負(fu)數的補碼(ma):符號位不(bu)變,原碼(ma)轉(zhuan)換(huan)成反(fan)碼(ma),反(fan)碼(ma)末位加1;

