网站首页 > 技术教程 正文
数制基础中的数制转换也是在学习PLC极为重要的一个基础,是必须要掌握的一个内容,数制往往与存储器的寻址方式分不开,在S7-200SMART系列PLC中常用的数制表示方式有二进制数、十进制数、十六进制数,不同数制之间的数可进行相互转换,一个数也可以使用这三种数制进行表示;但在表示的过程中,数值的大小不变,只是显示的方式发生了变化。
下面针对各个进制的转换进行讲解,希望大家能够掌握其转换原理。
01、二进制数转十进制数
为了方便学习二进制,我们先来看十进制数的原理,十进制数的特点就是有10个数字组成,分别是0-9,如图1-21所示,235中的个位是5,代表5个1;十位是3,代表3个10;百位是2,代表2个100;换种方式表示就是5×10o+3×101+2×102,就是200+30+5=235。
二进制也是一样的原理,在十进制中有10个数码来表示一个数字,那二进制则有2个数码来一个数字,分别是0、1组成。在十进制数中,可以把0-9不同的数码放在不同的位权上面表示不同大小的数;在二进制数中,同样可以把不同的数码放在不同的位权中得到不同大小的数,如1-22图中2进制数1011,根据10进制数原理来推算,从右边开始用数码×位权得到的就是结果。那二进制数也可以从右边开始用数码和位权相乘,那就是1×2o+1×21+0×22+2×23;也就是1×1+1×2+0×4+1×8;最后就是1+2+0+8=11,结果就是2进制数1011=10进制数11。
在十进制中10o=1,所以第一位表示个位;101=10,所以第二位表示十位;102=100,所以第三位表示百位。类似的,在二进制中,2o=1,所以第一位表示个位;21=2,所以第二位表示二位;22=4,所以第三位表示四位;23=8,所以第四位表示八位。
02、八进制数转十进制数
清楚了二进制转换成十进制数之后,那再来看看八进制转十进制数,原理都是一样的,十进制数有10个数码表示一个数字,八进制数有8个数码表示一个数字,分别是由0-7组成;与十进制数也是一一对应的,八进制数0-7对应十进制数也是0-7。如图1-23所示,八进制数567转换成十进制数是多少呢?根据二进制数转换成十进制数的方法来进行计算,就是7×8o+6×81+5×82,也就是7×1+6×8+5×64,结果是7+48+320=375,最后八进制数567=K375。
03、十六进制数转十进制数
十六进制数如图1-25由0-9和A-F(表示十至十五)组成,如图1-24十六进制数2AE转换成十进制数,就是14×16o+10×161+2×162,也就是14×1+10×16+2×256,结果是14+160+512=686,最后十六进制数2AE=K686。
总结:通过上面二进制、八进制以及十六进制数转换成十进制数,可以概括为N进制转成十进制可采用N×位权,展开后相加则等于十进制数。
04、十进制数转二进制数
1、整数转二进制
举例:十进制53转换成二进制数。
方法1 :除N取余,逆序排列。
任意十进制数均可采用连除法或短除法计算,然后取余数,最后将余数逆序排列;就是说十进制转换成N进制数,用十进制数÷N,然后取余数,逆序排列。
如图1-26所示中的十进制数53转换成2进制数,可以用53÷2,得到的结果如果被整除,余数则是0 ,若不能被整除,则余数为1 ,接着再用得到的结果继续相除,直到商的结果为0则不再相除,最后把得到的余数逆序排列则就是2进制数。
方法2:位权展开法
根据所要转换的数进行按位展开,把所得的权值减去需要转换的数,再用差值进行相减,直到相减结果为0 ,最后在能够相减的权值上用“1”表示,顺序排列后得到2进制数,如图1-27所示。
2、小数转换二进制数
举例:十进制200.25转换成二进制数
整数部分如上列所示,小数部分乘以2取整进行计算。
0.25×2=0.5 整数部分为0
0.5×2=1.0 整数部分为1
当小数部分为0时,则计算完成,若小数部分一直存在则可使用约等于的方式计算。
所以:200.25=2#11001000.01
05、十进制数转八进制数
举例:十进制数900转换成八进制数
根据除N取余,逆序排列的方法可以把10进制除以8,得到的商再除以8,一直到商等于0为止。把得到的余数之后进行逆序排列,其结果就是八进制数;如图1-28所示。
06、十进制数转十六进制数
举例:十进制数2717转换成八进制数。根据除N取余,逆序排列的方法可以把10进制除以16,得到的商再除以16,一直到商等于0为止。得到的余数之后进行逆序排列,其结果就是十六进制数;需要注意的是得到的余数若大于9则必须用十六进制数A-F表示,换算过程如图1-29所示。
除了以上“除N取余,逆序排列”的方法之外,还可以先转换成二进制数,再通过2进制转换成十六进制数,而二进制数如何转换十六进制可看本小节内容之二进制转十六进制数。
07、二进制|八进制|十六进制相互转换
1、二进制转八进制
由于23=8,所以每3位二进制可以转换为一位八进制数;通过一个例子来进行加以说明,例如二进制1011 1001转换成八进制数,可把每三个数分为一组,从右边开始,分别乘以其位权,再加权值相加,得到的结果则是八进制数,换算过程如图1-30所示。
2、二进制转十六进制数
由于2?=16,所以每4位二进制可以转换为一位十六进制数;例如二进制1011 1001转换成十六进制数,可把每四个数分为一组,从右边开始,分别乘以其位权,再加权值相加,得到的结果则是十六进制数,换算过程如图1-32所示。
08、十六进制数转二进制数
由于2?=16,所以每4位二进制可以转换为一位十六进制数,那就说明每一位16进制数是有4位2进制数组成(8 4 2 1)因此可以使用四位二进制数来进行表是示1位16进制数,二进制数与十六进制数之间的关系,如表1-6所示,在换算时可根据表格中的对应进行换算。
十六进制转二进制时,每一位十六进制为一组,用四位二进制的数字来表示,不足四位的用0补足,查对应关系表。
猜你喜欢
- 2024-10-13 VB 十进制数据转换十六进制 vb10进制转16进制代码
- 2024-10-13 2、进位制之间的转换(含有小数位)
- 2024-10-13 【PythonTip题库精编300题】第35题:十六进制转换为二进制
- 2024-10-13 大牛都是这样转十六进制字符串的!全是细节呀
- 2024-10-13 进制数相互转换 进制之间转化
- 2024-10-13 在 TIA Portal中,如何对S7-1200/S7-1500 进行数据类型转换?
- 2024-10-13 8进制、10进制、16进制转换,用linux命令就搞定了!
- 2024-10-13 PLC常用数制及转换方法 plc数字运算
- 2024-10-13 MATLAB数据进制转换 matlab进制转换函数
- 2024-10-13 一款简单好用的多种进制计算软件 一款简单好用的多种进制计算软件推荐
你 发表评论:
欢迎- 04-09利用激光来加速,这个团队取得新进展
- 04-09米尔MYD-YA15XC-T评测ST开发板测评
- 04-09FFmpeg学习(1)开篇(ffmpeg kux)
- 04-09FFmpeg基础知识总结(ffmpeg kux)
- 04-09Qt音视频开发12-mpv解码播放(解码科技史)
- 04-09FreeBSD-常用软件推荐(freebsd优点)
- 04-09网易主干网络遭到黑客攻击,导致梦幻西游等网络游戏无法登陆
- 04-09警惕黑客入侵个人博客(黑客入侵的表现)
- 最近发表
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)