天天看點

matlab 二進制如何轉成64進制,matlab 二進制運算

匿名使用者

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,即是二進制的值。

若要将二進制轉為八進制,将二進制的位數由右向左每三位一個機關分隔,将事機關對照出八進制的值即可。