二進位制,八進位制十進位制十六進位制之間資料轉換
十進位制轉二進位制(整數及小數部分):
1、把該十進位制數,用二因式分解,取餘。
以235為例,轉為二進位制
235除以2得117,餘1
117除以2得58,餘1
58除以2得29,餘0
29除以2得14,餘1
14除以2得7,餘0
7除以2得3,餘1
3除以2得1,餘1
從得到的1開始寫起,餘數倒排,加在它後面,就可得11101011。
2、把十進位制中的小數部份,轉為二進位制。
把該小數不斷乘2,取整,直至沒有小數為止,注意不是所有小數都能轉為二進位制!
以0.75為例,
0.75剩以2得1.50,取整數1
0.50剩以2得1,取整數1,順序取數就可得0.11。
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第三位
最後得1276516
二進位制與十六進位制的關係
2進位制00000001001000110100010101100111
16進位制01234567
2進位制10001001101010111100110111101111
16進位制89a(10)b(11)c(12)d(13)e(14)f(15)
可以用四位數的二進位制數來代表一個16進位制,如3A16轉為二進位制為:
3為0011,A為1010,合併起來為00111010。可以將最左邊的0去掉得1110102
右要將二進位制轉為16進位制,只需將二進位制的位數由右向左每四位一個單位分隔,將各單位對照出16進位制的值即可。
二進位制與八進位制間的關係
二進位制000001010011100101110111
八進位制01234567
二進位制與八進位制的關係類似於二進位制與十六進位制的關係,以八進位制的各數為0到7,以三位二進位制數來表示。如要將51028轉為二進位制,5為101,1為001,0為000,2為010,將這些數的二進位制合併後為1010010000102,即是二進位制的值。
若要將二進位制轉為八進位制,將二進位制的位數由右向左每三位一個單位分隔,將事單位對照出八進位制的值即可。
二進位制,八進位制十進位制十六進位制之間資料轉換
十進位制轉二進位制(整數及小數部分):
1、把該十進位制數,用二因式分解,取餘。
以235為例,轉為二進位制
235除以2得117,餘1
117除以2得58,餘1
58除以2得29,餘0
29除以2得14,餘1
14除以2得7,餘0
7除以2得3,餘1
3除以2得1,餘1
從得到的1開始寫起,餘數倒排,加在它後面,就可得11101011。
2、把十進位制中的小數部份,轉為二進位制。
把該小數不斷乘2,取整,直至沒有小數為止,注意不是所有小數都能轉為二進位制!
以0.75為例,
0.75剩以2得1.50,取整數1
0.50剩以2得1,取整數1,順序取數就可得0.11。
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進位制00000001001000110100010101100111
16進位制01234567
2進位制10001001101010111100110111101111
16進位制89a(10)b(11)c(12)d(13)e(14)f(15)
可以用四位數的二進位制數來代表一個16進位制,如3A16轉為二進位制為:
3為0011,A為1010,合併起來為00111010。可以將最左邊的0去掉得1110102
右要將二進位制轉為16進位制,只需將二進位制的位數由右向左每四位一個單位分隔,將各單位對照出16進位制的值即可。
二進位制與八進位制間的關係
二進位制000001010011100101110111
八進位制01234567
二進位制與八進位制的關係類似於二進位制與十六進位制的關係,以八進位制的各數為0到7,以三位二進位制數來表示。如要將51028轉為二進位制,5為101,1為001,0為000,2為010,將這些數的二進位制合併後為1010010000102,即是二進位制的值。
若要將二進位制轉為八進位制,將二進位制的位數由右向左每三位一個單位分隔,將事單位對照出八進位制的值即可。