二进制十进制十六进制相互转换

Posted 超超boy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二进制十进制十六进制相互转换相关的知识,希望对你有一定的参考价值。

1.二进制->10进制

 例如:

1101(2)=1*2^0+0*2^1+1*2^2+1*2^3=1+0+4+8=13 

转化成十进制要从右到左用二进制的每个数去乘以2的相应次方不过次方要从0开始

2.二进制转16进制:

要将二进制转为16进制,只需将二进制的位数由右向左每四位一个单位分隔,分的不够的前边补零,用四位数的二进制数来代表一个16进制。

说的比较啰嗦,就是2^4=16,每四位二进制正好是1位16进制

例如:    10112->0001 0112->18 (16)

 

 

3. 10进制->2进制

  用10进制数不断除2,取余,余数倒写。

  例如:302 

302/2 = 151 余0 

151/2 = 75 余1 

75/2 = 37 余1 

37/2 = 18 余1 

18/2 = 9 余0 

9/2 = 4 余1 

4/2 = 2 余0 

2/2 = 1 余0 

1/2 = 0 余1 故二进制为

100101110 

 4.  10进制转16进制原理与转2进制一样,不断除16取余,余数倒写。

例如:

23785/16=1486余9,

1486/16=92余14,

92/16=5余12,

5/16=0余5

十六进制中,10对应为a,11对应为b,15对应为f,再将余数倒写为5ce9,

则十进制23785=十六进制5ce9 

 5. 16进制转10进制:与2进制转10进制一样。

 例如:把上面的5ce9转成10进制:

 9*16^0+e*16^1+c*16^2+5*16^3 = 23785

6.   16进制转二进制:

就把二进制转16进制倒过来就可以,16进制的每一位对应二进制的4位。

例如:AB    

  A ->1010    B->1011

AB->10101011

以上是关于二进制十进制十六进制相互转换的主要内容,如果未能解决你的问题,请参考以下文章

C 语言实例 - 二进制与十进制相互转换

二进制十进制十六进制相互转换

十六进制与十进制之间的相互转换

C语言 十进制和二进制相互转换

使用bitset实现二进制和十进制的相互转换

进制转换规则