进制转换

1:二、八、十六进制转换十进制:

(1.1)二进制转换十进制:

首先转换是从低位到高位,即从右往左,位数乘以2的零次方,位数2的一次方,依次往下运算,得到的结果相加即可

二进制是逢二进一,只有0,1两个数。

如101011,从右往左为:

1*2^0 = 1;

1*2^1 = 2;

0*2^2 = 0;

1*2^3 = 8;

0*2^4 = 0;

1*2^5 = 32;

结果就是:1+2+0+8+0+32 = 43;

(1.2)八进制转换十进制

同样是从低位到高位,只不过是位数乘以8的零次方,8的一次方,依次向下运算,得到结果相加

八进制是逢八进一,即以0,1,2,3,4,5,6,7表示

如34,从右往左为:

4*8^0 = 4;

3*8^1 = 24;

结果就是24 + 4 = 28;

(1.3)十六进制转换十进制

同8进制,位数乘以16的零次方,16的一次方,往下运算,得到结果相加

十六进制是风16进一,以0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F表示

如2B,从右往左:

B-->11*16^0 = 11;

2*16^1 = 32;

结果就是 32 + 11 = 43;

(2)十进制转换二、八、十六进制

(2.1)十进制转换二进制

数字除以2,将余数作为该权位上的数,再将商除以2,把余数作为下一权位的数,再讲商除以2,依次计算,知道商为0;

如43:

43/2  商-->21  余数-->1;

21/2  商-->10  余数-->1;

10/2  商-->5  余数-->0;

5/2  商-->2  余数-->1;

2/2   商-->1  余数-->0;

1/2  商-->0  余数-->1;

此时注意:结果要从下往上读,从后往前读,即101011;

(2.2)十进制转换八进制

除八取余,同转换二进制一样,如796:

796/8  商-->99  余数-->4;

99/8  商-->12  余数-->3;

12/8  商-->1  余数-->4;

1/8  商-->0  余数-->1;

结果就是:1434.

还可以间接转换,先将数字转换为二进制,再讲二进制转换为八进制

796转换为二进制为1100011100;

二进制转换为八进制是每三位取一位,从右往左,若左边不够三位则补0,将三位二进制数转为十进制:


100 ==》 4;

011 ==》 3;

100 ==》 4;

001 ==》 1;

结果就是 1434.

(2.3)十进制转换十六进制

除十六取余,步骤同上,如796:

796/16  商==》49  余数==》12(C);

49/16  商==》3  余数==》1;

3/16  商==》0  余数==》3

结果就是31C;

还可以间接转换,先将数字转换为二进制,再讲二进制转换为十六进制

796转换为二进制为1100011100;

二进制转换为十六进制是每四位取一位,从右往左,若左边不够四位则补0,将四位二进制数转为十进制:


1100 ==》 12==》C;

0001 ==》 1;

0011 ==》 3;

结果就是31C.

 (3)二进制转换为八、十六进制

上面已经说过了,就不说了

(4)八、十六进制转换二进制

(4.1)八进制转换二进制

取一转三,即将八进制数,一个一个转换为3位的二进制数,如327:

7 ==》 111;

2 ==》 010;

3 ==》 011;

所以结果就是011 010 111;

(4.1)十六进制转换二进制

取一转四,即将十六进制数,一个一个转换为4位的二进制数,如D7:

7 ==》 0111;

D ==》 13 ==》1101;

结果就是 1101 0111

(5)八进制与十六进制相互转换

它们之间相互转换都是要先转换为二进制,在由二进制转换为对应的进制

原文地址:https://www.cnblogs.com/rongy/p/6115394.html