快捷搜索: 王者荣耀 脱发

各进制之间的转化方法

首先请注意: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:使用间接法,先将十进制转换成二进制,然后将二进制又转换成十六进制;



经验分享 程序员 微信小程序 职场和发展