C語言基礎(chǔ)知識(shí)—數(shù)值轉(zhuǎn)換
數(shù)字的四種表現(xiàn)形式:
①:二進(jìn)制:所有數(shù)字由0,1構(gòu)成,逢二進(jìn)一,二進(jìn)制數(shù)中不會(huì)出現(xiàn)2。
②:八進(jìn)制:以數(shù)字0(注意不是以字母O,o)開頭,所有數(shù)字由0~7構(gòu)成,逢八進(jìn)一,八進(jìn)制數(shù)中不會(huì)出現(xiàn)8。 例:0112,0123,077等
③:十進(jìn)制:所有數(shù)字由0~9構(gòu)成,逢十進(jìn)一,十進(jìn)制數(shù)中不會(huì)出現(xiàn)10。 例:0,12,-15等
④:十六進(jìn)制:以0x或者0X(數(shù)字0加字母x)開頭,所有數(shù)字由0~9,A~F(或者a~f)構(gòu)成,逢十六進(jìn)一(其中A、B、C、D、E、F分別代表10、11、12、13、14、15) 例:0x4A、0X14c7等
在計(jì)算機(jī)內(nèi)部,數(shù)字均以二進(jìn)制形式表示和存放,用戶輸入的普通十進(jìn)制數(shù)字都要被計(jì)算機(jī)轉(zhuǎn)換成二進(jìn)制才能在計(jì)算機(jī)內(nèi)部存儲(chǔ),同樣計(jì)算機(jī)的運(yùn)算結(jié)果也為二進(jìn)制,一般要將其轉(zhuǎn)換成十進(jìn)制數(shù)再輸出給用戶閱讀,這種轉(zhuǎn)換通常由計(jì)算機(jī)自動(dòng)實(shí)現(xiàn)。
1)將十進(jìn)制轉(zhuǎn)換二進(jìn)制、八進(jìn)制和十六進(jìn)制
除法:將十進(jìn)制數(shù)除以2,記錄余數(shù),得到的商繼續(xù)除以2,直到商為0,然后將各次相處所得的余數(shù)從后往前逆序排列,所得余數(shù)數(shù)字序列就是該十進(jìn)制數(shù)對(duì)應(yīng)的二進(jìn)制數(shù)。八進(jìn)制和十六進(jìn)制轉(zhuǎn)換方法同上。
例:十進(jìn)制數(shù)13轉(zhuǎn)換成二進(jìn)制數(shù)的值為1101,轉(zhuǎn)換八進(jìn)制為015,轉(zhuǎn)換成十六進(jìn)制為D.
2)將二進(jìn)制、八進(jìn)制和十六進(jìn)制轉(zhuǎn)換成十進(jìn)制
乘積求和:將二進(jìn)制的每一位從低位到高位(右邊為低位,左邊為高位)分別乘以20,21,22。。。。,然后將這些積求和。
3)二進(jìn)制與八進(jìn)制、十六進(jìn)制數(shù)之間的相互轉(zhuǎn)換
①:二進(jìn)制轉(zhuǎn)八進(jìn)制:從右往左每三位一組轉(zhuǎn)換成十進(jìn)制數(shù),將所得數(shù)據(jù)組合就是對(duì)應(yīng)的八進(jìn)制數(shù)(注意:高位不足三位補(bǔ)零)。 例:(010 110 111)2=(267)8
②:二進(jìn)制轉(zhuǎn)十六進(jìn)制:從右往左每四位一組轉(zhuǎn)換成十進(jìn)制數(shù),將所得數(shù)據(jù)組合就是對(duì)應(yīng)的十六進(jìn)制數(shù)(注意:高位不足四位補(bǔ)零)。 例:(0101 1011)2=(5B)16
③:八進(jìn)制轉(zhuǎn)化二進(jìn)制:每一位數(shù)字轉(zhuǎn)換為三位二進(jìn)制數(shù)字 例:(13)8=(001 011)2= (注意:去掉前面的兩個(gè)00,因?yàn)?在高位沒有意義) ④:十六進(jìn)制轉(zhuǎn)化二進(jìn)制:每一位數(shù)字轉(zhuǎn)換為四位二進(jìn)制數(shù)字 例:(E3)16=(1110 0011)2
點(diǎn)擊加載更多評(píng)論>>