进制转换应用场景_编程中常用的二进制、八进制、十进制、十六进制数据转换,总结的好!...

81459428635d1f4075f4968f3611599e.gif

进制转换是人们利用符号来计数的方法。进制转换由一组数码符号和两个基本因素“基数”与“位权”构成。

基数是指,进位计数制中所采用的数码(数制中用来表示“量”的符号)的个数。

位权是指,进位制中每一固定位置对应的单位值。

 进制也就是进制位,对于接触过电脑的人来说应该都不陌生,我们常用的进制包括:二进制、八进制、十进制与十六进制,它们之间区别在于数运算时是逢几进一位。比如二进制是逢2进一位,十进制也就是我们常用的0-9是逢10进一位。具体的用法小编今天不着重解释,主要针对他们之间的转换加以讨论(今天只讲整数)

1274f8fc2c56984287419347c2efa57b.png

一、二进制与十进制之间的转换

1、十进制转二进制

方法为:十进制数除2取余法,即十进制数除2,余数为权位上的数,得到的商值继续除2,依此步骤继续向下运算直到商为0为止。

(具体用法如下图)

3ba3589f0021fecfadbb9cfa385ef649.png

2、二进制转十进制

方法为:把二进制数按权展开、相加即得十进制数。

(具体用法如下图)

e9805dc8a2bdf16ca46e6104f466ace2.png

二、二进制与八进制之间的转换

1、二进制转八进制

方法为:3位二进制数按权展开相加得到1位八进制数。(注意事项,3位二进制转成八进制是从右到左开始转换,不足时补0)。

(具体用法如下图)

f2fcf09603b72ad7bb653e89f2949a13.png

2、八进制转二进制

方法为:八进制数通过除2取余法,得到二进制数,对每个八进制为3个二进制,不足时在最左边补零。

f036011ebf3fc15ba2fa0b9bea632525.png

三、二进制与十六进制之间的转换

1、二进制转十六进制

方法为:与二进制转八进制方法近似,八进制是取三合一,十六进制是取四合一。(注意事项,4位二进制转成十六进制是从右到左开始转换,不足时补0)。

b4c1faf1416ba6e8ac09b7063bd6ba09.png

2、十六进制转二进制

方法为:十六进制数通过除2取余法,得到二进制数,对每个十六进制为4个二进制,不足时在最左边补零。

60d3f76545c6eaaacefec09f8469d50b.png

四、十进制与八进制与十六进制之间的转换

1、十进制转八进制或者十六进制有两种方法

第一:间接法—把十进制转成二进制,然后再由二进制转成八进制或者十六进制。这里不再做图片用法解释。

第二:直接法—把十进制转八进制或者十六进制按照除8或者16取余,直到商为0为止。

897032cd7fb9b5e4eca677abdd565b53.png

2、八进制或者十六进制转成十进制

方法为:把八进制、十六进制数按权展开、相加即得十进制数。

c2f0cf235a506924e7a2938793510205.png

五、十六进制与八进制之间的转换

八进制与十六进制之间的转换有两种方法

第一种:他们之间的转换可以先转成二进制然后再相互转换。

第二种:他们之间的转换可以先转成十进制然后再相互转换。

这里就不再进行图片用法解释。

六、负数

负数的进制转换稍微有些不同。

先把负数写为其补码形式(在此不议),然后再根据二进制转换其它进制的方法进行。

例:要求把-9转换为八进制形式。则有:

-9的补码为1111 1111 1111 0111。从后往前三位一划,不足三位的加0

111---->7

110---->6

111---->7

111---->7

111---->7

001---->1

然后我们将结果按从下往上的顺序书写就是:177767,那么177767就是十进制数-9的八进制形式。

其实转化成任意进制都是一样的。

初学者最容易犯的错误!!!!!!!

犯错:(-617)D=(-1151)O=(-269)H

原因分析:如果是正数的话,上面的思路是正确的,但是由于正数和负数在原码、反码、补码转换上的差别,所以按照正数的求解思路去对负数进行求解是不对的。

正确的方法是:首先将-617用补码表示出来,然后再转换成八进制和十六进制(补码)即可。

注:二进制补码要用16位。

正确答案::(-617)D=(176627)O=(fd97)H

负数十进制转换成八进制或十六进制方法

如(-12)10=( )8=( )16

第一步:转换成二进制

1000 0000 0000 1100

第二步:补码,取反加一

注意:取反时符号位不变!

1111 1111 1111 0100

第三步:转换成八进制是三位一结合:177764(8)

转换成十六进制是四位一结合:fff4(16)

 七、小数

最近有些朋友提了这样的问题“0.8的十六进制是多少?”

0.8、0.6、0.2... ...一些数字在进制之间的转化过程中确实存在麻烦。

就比如“0.8的十六进制”吧!

无论怎么乘以16,它的余数总也乘不尽,总是余0.8

具体方法如下:

0.8*16=12.8

0.8*16=12.8

取每一个结果的整数部分为12既十六进制的C

如果题中要求精确到小数点后3位那结果就是0.CCC

如果题中要求精确到小数点后4位那结果就是0.CCCC

现在OK了。

扫码关注“电气工程及其自动化技术”公众号,一个教你技术的平台

e03ab50e40396f34f80153e690030ee6.png

后台回复 “1” “2” “3” “4”"5" 领取下面限时分享


后台回复 “1” “2” “3” “4”"5" 领取下面限时分享:

1、[S7-200编程软件及编程手册] 

2、[三菱编程软件及操作和编程手册] 

3、[西门子STEP7 MicroWIN SMART V2.2.zip编程软件]

4、[西门子S7-300编程软件和编程手册]

5、[电气仿真软件]


不知道大家想不想听,想不想学,文章最下方有我的私人微信号(扫描下方二维码),我将统一给大家在微信实时分享,你要知道技不压身,所以就看你我是否有缘了哦。恩,今天就到这里,下回见!

301ab5d9c33421aad61f9da53e360f07.png


<往期经典文章>
[干货]二进制,八进制,十进制,十六进制转换,工控设计必知!

[电气自动化设计必看干货]手把手教你电气图变PLC程序图过程

.低压电气元件汇总,超全,仿真软件免费下载!

.[干货]S7-300编程超全超细讲解,难得好文!

.编程那些是,心得总结,收货满满!

.微信如何记步数?电气自动化技术学科之一.

.电气自动化工程师要怎么做,心得体会!

.[限时下载] S7-200编程软件及编程手册

.[限时下载] 三菱编程软件及操作编程手册

.[限时下载] 西门子STEP7 MicroWIN SMART V2.2.zip编程软件

.接触器那些事儿!

• 【涨知识】电气自动化设计工程师必知的三种接线,详解!

• 电气控制柜设计原则【涨知识】

•电气自动化工程师必须具备的知识,你知道的全吗?

•DCS与PLC的区别,这回肯定懂了!【超形象】

•PLC的五种编程语言及学习PLC的方法[干货]

•【干货】电气设备维修基本原则,值得收藏!

•毕业季,如何才能成为一名优秀的电气工程师?【不看后悔】

•【详解】西门子编程各功能块区别(重点FB和FC),通俗易懂的讲解,值得收藏!

•【超详细】编码器分类及单圈和多圈解析,受益匪浅 !

•PID调节到底是什么东西?[详解]

•编程之前一定要有“程序流程图”,不知道吧?【干货】

•【实战干货】伺服电机如何实现控制?是脉冲还是总线?值得收藏!!

•【详解】伺服驱动器的 电流环 速度环 位置环,值得收藏!

•RS485通讯接口特性及与RS232的区别【涨知识】

•变频器原理及控制方式,你真得懂吗?

•一次设备、一次回路、二次设备、二次回路都指的是什么?这回懂了!

•PLC和单片机主要区别及应用范围【涨知识】

•电机过热过载分析及解决办法【现场经验】

•PLC项目怎么做?老工程师告诉你!

•【涨姿势】使用PLC的经验技巧,你知道吗?实战分析!

•教你画电气原理图【详解必看】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值