不同进制的换算

不同进制的换算,在编程中经常会用到,尤其是C语言。八进制数采用0~7这八数来表达一个数,每种进制之间还可以相互转换,以下详细介绍不同进制的换算。

不同进制的换算1

各种进制之间的转换方法:

一、不同的进位制数转化为十进制数:按权展开相加

十进制是权是10;二进制是权是2;十六进制是权是16;八进制是权是8;

例:

110011(二进制数)=1*2^5+1*2^4+0*2^3+0*2^2+1*2^1+1*2^0=32+16+2+1=51

1507(八进制数)=1*8^3 + 5*8^2 + 0*8^1 + 7*8^0 = 839

2AF5(十六进制数)=2*16^3 + A*16^2+ F*16^1 + 5*16^0 = 10997

二、十进制数化为不同进制数

整数部分:除权取余;小数部分:乘权取整

例:十进制数13转化成二进制数

13/2=6 余1

6/2=3 余0

3/2=1 余1

1/2=0 余1

结果:1101

不同进制的换算

三、二进制换算八进制

将二进制数从右到左,三位一组,不够补0

例:二进制数10110111011换八进制数:

010 110 111 011

结果为:2673

四、二进制转换十六进制

二进制数转换为十六进制数的方法也类似,从右到左,四位一组,不够补0

如上题:

0101 1011 1011

结果为:5BB

不同进制的.换算2

实际工作中,经常需要将某个进制的数转换成其他进制的数,最常碰到就是10进制转16进制和10进制转2进制。

10进制转换成其他进制使用的方法叫"除k取余法","除k"中这个k就是我们需要转换成的进制,比如要转换成2进制,这个K就是2,要转换成16进制,这个K就是16。"取余"中的余就是在这个除法过程中的余数(直到商为0)。

不同进制的换算 第2张

以185转成2进制为例,转换过程见上图,所以转换结果是:185 = 10111001(2进制),注意余数是从下往上取,不要搞反了。

小伙伴可以使用这种方法将185转换成16进制:185 = B9(16进制)。

除K取余发是进制间转换的核心思想,对于想学习单片机的小伙伴来说,这个是必须要要掌握的`知识点。比如其他进制间需要转换,那我们可以先把要转换的数转换成10进制,然后在转换成其他进制。

1-使用windows自带的计算器进行进制转换

首先打开windows计算器,界面如下,点击图中红色箭头指向的地方,选择模式为“程序员”:

不同进制的换算 第3张

切换到程序员模式后,我们可以看到右侧就可以选择不同的进制了,具体看图中红色方框内说明。

不同进制的换算 第4张

例如我们在十进制中输入185,那么我们就可以在其他进制中看到转换的结果了,很明显,转换结果和我们上面计算的结果相同。

不同进制的换算 第5张

2-使用excel来计算

Excel是非常强大的,在工作中我们有很多参数计算都可以公式输入到excel完成,小伙伴们可以多使用excel。如下图,就是将十进制转换成十六进制的excel计算表格,只需要使用其自带的公式(DEC2HEX)即可。

不同进制的换算 第6张

3-使用网络上的进制转换器

如果电脑有网的时候,大家可以度娘搜索“在线进制转换”,点击第一个搜索结果,就可以进行进制转换了,如下图:

不同进制的换算 第7张