各進製之間的轉化方法

2021-07-15 17:20:46 字數 1830 閱讀 3867

首先請注意:

b(binary)表示二進位制,o(octal)表示八進位制,d(decimal)或不加表示十進位制,h(hexadecimal)表示十六進製制

二、八、十六進製制轉化為十進位制的方法:

一、將二進位制轉化為十進位制

方法:二進位制數從低位到高位(即從右往左)計算,例如,二進位制數(101011):

轉為十進位制:

1. 第0位 1 x 2^0 = 1;

2. 第1位 1 x 2^1 = 2;

3. 第2位 0 x 2^2 = 0;

4. 第3位 1 x 2^3 = 8;

5. 第4位 0 x 2^4 = 0;

6. 第5位 1 x 2^5 = 32;

把結果值相加,1+2+0+8+0+32=43,即(101011)b=(43)d。                    

二、將八進位制轉為十進位制

方法:二進位制數從低位到高位(即從右往左)計算,例如,八進位制數(101):

八進位制就是逢8進1,八進位制數採用 0~7這八數來表達乙個數。

轉為十進位制:

1. 第0位 1 x 8^0 = 1;

2. 第1位 0 x 8^1 = 0;

3. 第2位 1 x 8^2 = 64;

把結果值相加,1+0+64=65,即(101)o=(65)d。          

三、將十六進製制轉為十進位制

十六進製制就是逢16進1,十六進製制的16個數為0123456789abcdef。

方法:二進位制數從低位到高位(即從右往左)計算,例如,十六進製制數(3d):

1. 第0位 dx 16^0 = 13;

2. 第1位 3x 16^1 = 48;

把結果值相加,13+48=61,即(3d)h=(61)d。

十進位制轉化為

二、八、十六進製制(用餘數法)

一、十進位制轉化為二進位制

方法:除2取餘法,即每次將整數部分除以2,直到商為0為止,最後讀數時候,從最後乙個餘數讀起,一直到最前面的乙個餘數。 

例如:將十進位制的(43)d轉化為二進位制:

所以:最後一位是經過多次除以2才得到的,因此它是最高位,讀數字從最後的餘數向前讀,101011,即(43)d=(101011)b。

二、將十進位制轉化為八進位制

方法1:除8取餘法,即每次將整數部分除以8,

直到商為0為止,最後讀數時候,從最後乙個餘數讀起,一直到最前面的乙個餘數。

例:將十進位制的(796)d轉換為八進位制:

最後一位是經過多次除以8才得到的,因此它是最高位,讀數字從最後的餘數向前讀,1434,即(796)d=(1434)o。

方法2:使用間接法,先將十進位制轉換成二進位制,然後將二進位制又轉換成八進位制;

三、將十進位制轉化為十六進製制

方法1:除16取餘法,即每次將整數部分除以16,餘數為該位權上的數,而商繼續除以16,餘數又為上乙個位權上的數,這個步驟一直持續下去,直到商為0為止,最後讀數時候,從最後乙個餘數起,一直到最前面的乙個餘數。

例:將十進位制的(796)d轉換為十六進製制:

最後一位是經過多次除以16才得到的,因此它是最高位,讀數字從最後的餘數向前讀,31c,即(796)d=(31c)h。

方法2:使用間接法,先將十進位制轉換成二進位制,然後將二進位制又轉換成十六進製制;

各進製轉化

2 二進位制,8 八進位制,16 十六進製制 num2 num8 num16 input int num form,i 0 cin num form switch num form vc中編譯switch語句時case後面的語句不止一條時要加上 case 2 char bite2 new char ...

mysql 10進製 轉32進製 各進製之間的轉換

一 二進位制與十進位制之間的轉換 1 二進位制轉十進位制 不分整數和小數從最後一位算起,每一位上的數乘以2的幾次方,這個次數由這個數字所在的位置決定,從零位開始,然後相加 例 01101011.001轉十進位制1乘2的 3次方 0.125 0乘2的 2次方 0 0乘2的 1次方 0 1乘2的0次方 ...

js各進製之間的相互轉換

十進位制轉二進位制 parseint num tostring 2 十進位制轉八進位制parseint num tostring 8 十進位制轉十六進製制parseint num tostring 16 二進位制轉十進位制parseint num,2 八進位制轉十進位制parseint num,8 ...