匿名使用者
1級
2009-06-06 回答
1、二進制數、八進制數、十六進制數轉十進制數
有一個公式:二進制數、八進制數、十六進制數的各位數字分别乖以各自的基數的(N-1)次方,其和相加之和便是相應的十進制數。個位,N=1;十位,N=2...舉例:
110B=1*2的2次方+1*2的1次方+0*2的0次方=0+4+2+0=6D
110Q=1*8的2次方+1*8的1次方+0*8的0次方=64+8+0=72D
110H=1*16的2次方+1*16的1次方+0*16的0次方=256+16+0=272D
2、十進制數轉二進制數、八進制數、十六進制數
方法是相同的,即整數部分用除基取餘的算法,小數部分用乘基取整的方法,然後将整數與小數部分拼接成一個數作為轉換的最後結果。
例:見四級指導16頁。
3、二進制數轉換成其它資料類型
3-1二進制轉八進制:從小數點位置開始,整數部分向左,小數部分向右,每三位二進制為一組用一位八進制的數字來表示,不足三位的用0補足,
就是一個相應八進制數的表示。
010110.001100B=26.14Q
八進制轉二進制反之則可。
3-2二進制轉十進制:見1
3-3二進制轉十六進制:從小數點位置開始,整數部分向左,小數部分向右,每四位二進制為一組用一位十六進制的數字來表示,
不足四位的用0補足,就是一個相應十六進制數的表示。
00100110.00010100B=26.14H
十進制轉各進制
要将十進制轉為各進制的方式,隻需除以各進制的權值,取得其餘數,第一次的餘數當個位數,第二次餘數當十位數,其餘依此類推,直到被除數小于權值,最後的被除數當最高位數。
一、十進制轉二進制
如:55轉為二進制
2|55
27――1 個位
13――1 第二位
6――1 第三位
3――0 第四位
1――1 第五位
最後被除數1為第七位,即得110111
二、十進制轉八進制
如:5621轉為八進制
8|5621
702 ―― 5 第一位(個位)
87 ―― 6 第二位
10 ―― 7 第三位
1 ―― 2 第四位
最後得八進制數:127658
三、十進制數十六進制
如:76521轉為十六進制
16|76521
4726 ――5 第一位(個位)
295 ――6 第二位
18 ――6 第三位
1 ―― 2 第四位
最後得1276516
二進制與十六進制的關系
2進制 0000 0001 0010 0011 0100 0101 0110 0111
16進制 0 1 2 3 4 5 6 7
2進制 1000 1001 1010 1011 1100 1101 1110 1111
16進制 8 9 a(10) b(11) c(12) d(13) e(14) f(15)
可以用四位數的二進制數來代表一個16進制,如3A16 轉為二進制為:
3為0011,A 為1010,合并起來為00111010。可以将最左邊的0去掉得1110102
右要将二進制轉為16進制,隻需将二進制的位數由右向左每四位一個機關分隔,将各機關對照出16進制的值即可。
二進制與八進制間的關系
二進制 000 001 010 011 100 101 110 111
八進制 0 1 2 3 4 5 6 7
二進制與八進制的關系類似于二進制與十六進制的關系,以八進制的各數為0到7,以三位二進制數來表示。如要将51028 轉為二進制,5為101,1為001,0為000,2為010,将這些數的二進制合并後為1010010000102,即是二進制的值。
若要将二進制轉為八進制,将二進制的位數由右向左每三位一個機關分隔,将事機關對照出八進制的值即可。