、取三合一法,即從二進(jìn)制的小數(shù)點(diǎn)為分界點(diǎn),向左(向右)每三位取成一位,接著將這三位二進(jìn)制按權(quán)相加,得到的數(shù)就是一位八位二進(jìn)制數(shù),然后,按順序進(jìn)行排列,小數(shù)點(diǎn)的位置不變,得到的數(shù)字就是我們所求的八進(jìn)制數(shù)。
如果向左(向右)取三位后,取到最高(最低)位時(shí)候,如果無法湊足三位,可以在小數(shù)點(diǎn)最左邊(最右邊),即整數(shù)的最高位(最低位)添0,湊足三位。例:
①將二進(jìn)制數(shù)101110.101轉(zhuǎn)換為八進(jìn)制
得到結(jié)果:將101110.101轉(zhuǎn)換為八進(jìn)制為56.5
② 將二進(jìn)制數(shù)1101.1轉(zhuǎn)換為八進(jìn)制
得到結(jié)果:將1101.1轉(zhuǎn)換為八進(jìn)制為15.4
2、取一分三法,即將一位八進(jìn)制數(shù)分解成三位二進(jìn)制數(shù),用三位二進(jìn)制按權(quán)相加去湊這位八進(jìn)制數(shù),小數(shù)點(diǎn)位置照舊。例:
① 將八進(jìn)制數(shù)67.54轉(zhuǎn)換為二進(jìn)制
因此,將八進(jìn)制數(shù)67.54轉(zhuǎn)換為二進(jìn)制數(shù)為110111.101100,即110111.1011
按照如下步驟即可用C語言把二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)的程序:
1、首先在主函數(shù)中設(shè)置成函數(shù)Sum,另外定義了一個(gè)數(shù)組array[8],用于存放輸入的八位二進(jìn)制數(shù)。
2、然后使用了一個(gè)for循環(huán)語句,用于輸入八位二進(jìn)制數(shù)。在scanf函數(shù)里,在%d之間加一個(gè)1,然后使用printf函數(shù)輸出,并且調(diào)用Sum函數(shù),數(shù)組名作為實(shí)參。
3、在Sum函數(shù)中,聲明了一個(gè)power函數(shù),在這里n為指數(shù),term為每一位數(shù)轉(zhuǎn)換為十進(jìn)制后的的數(shù),如1*(2*2),sum為總和。
4、然后使用一個(gè)for循環(huán)語句,i用于控制循環(huán)的次數(shù),n從最高的指數(shù)7開始每次循環(huán)減一,如果指數(shù)大于或等于零的,就進(jìn)行循環(huán),調(diào)用power函數(shù)時(shí),將n作為實(shí)參,最后將和返回。
5、在power函數(shù)中,如果b等于零,即指數(shù)為零,則返回1,否則就進(jìn)入一個(gè)循環(huán),j用于控制循環(huán)次數(shù)
6、最后看一下運(yùn)行結(jié)果,這個(gè)C語言程序既可以把二進(jìn)制數(shù)成功轉(zhuǎn)換成十進(jìn)制數(shù)了。
上網(wǎng)查一下ASCII碼表,52個(gè)拉丁字母(大小寫各26個(gè))的十六進(jìn)制碼值都有。比如:A——41,B——42,依次加1;小寫:a比A大32(十進(jìn)制數(shù))或大20(十六進(jìn)制數(shù)),即a——61,b——62,依次加1。16進(jìn)制簡介:十六進(jìn)制(hexadecimal)是計(jì)算機(jī)中數(shù)據(jù)的一種表示方法。同我們?nèi)粘V械氖M(jìn)制表示法不一樣。十六進(jìn)制數(shù)的基數(shù)是16,采用的數(shù)碼是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。
其中A-F分別表示十進(jìn)制數(shù)字10-15.十六進(jìn)制數(shù)的技術(shù)規(guī)則是“逢十六進(jìn)一”,它的各位的權(quán)是以16的N次方標(biāo)識(shí)的。
通常,對(duì)十六進(jìn)制數(shù)的表示,可以在數(shù)字的右下角標(biāo)注16或H,但在C語言中是在數(shù)的前面加數(shù)字0和字母X即0X來表示。
例如,12AF在C語言中表示為0X12AF。
十六進(jìn)制轉(zhuǎn)換二進(jìn)制:用8421拼湊法,首先要清楚的是:四位二進(jìn)制數(shù)表示十六進(jìn)制的一位,根據(jù)以上例子,轉(zhuǎn)換0x3C。首先轉(zhuǎn)換二進(jìn)制的高四位,也就是十六進(jìn)制3這個(gè)數(shù),可以將8421四位數(shù)相加拼湊,如果能得出3,就將該位設(shè)置為1,其余為0。
這四個(gè)數(shù)字中,僅有2+1才能得到3,因此,轉(zhuǎn)換為二進(jìn)制就是0011。低四位,十六進(jìn)制數(shù)C(十進(jìn)制數(shù)12),只有8+4=12,設(shè)置為1,其余為0,就得到1100,高低位結(jié)合起來,二進(jìn)制數(shù)為00111100。
二進(jìn)制與十六進(jìn)制之間的轉(zhuǎn)換:
1、二進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù)
由于2的4次方=16,所以依照二進(jìn)制與八進(jìn)制的轉(zhuǎn)換方法,將二進(jìn)制數(shù)的每四位用一個(gè)十六進(jìn)制數(shù)碼來表示,整數(shù)部分以小數(shù)點(diǎn)為界點(diǎn)從右往左每四位一組轉(zhuǎn)換,小數(shù)部分從小數(shù)點(diǎn)開始自左向右每四位一組進(jìn)行轉(zhuǎn)換。
2、十六進(jìn)制轉(zhuǎn)換成二進(jìn)制數(shù)
如將十六進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù),只要將每一位十六進(jìn)制數(shù)用四位相應(yīng)的二進(jìn)制數(shù)表示,即可完成轉(zhuǎn)換。