原标题:PLC中常用数制及如何转换

数制也称计数制,是用一组固定的符号和统一的规则来表示数值的方法。任何一个数制都包含两个基本要素:基数和位权。

基数:数制所使用数码的个数。例如,二进制的基数为2;十进制的基数为10。

位权:数制中某一位上的1所表示数值的大小(所处位置的价值)。例如,十进制的123,1的位权是100,2的位权是10,3的位权是1。二进制中的 1011 ,左起第一个1的位权是8,0的位权是4,第二个1的位权是2,第三个1的位权是1。

PLC中常用的数制有:十进制,二进制,十六进制,八进制等。此外还有BCD码和ASCII码也偶尔会使用。

十进制(Decimal notation):如1234=1*103+2*102+3*101+4*100,逢十进一,基数为10,单个数是0-9,每位的系数乘于基数(10)的N次方,N为其所处的位数。

二进制(Binary notation):如1101=1*23+1*22+0*21+1*20=13,逢二进一,基数为2,单个数只有0和1, 每位的系数乘于基数(10)的N次方,N为其所处的位数。从第3位至0分别为8,4,2,1,所以二进制也成8421码。如果表示有符号数,则用最高位表示符号,0为正数1为负数。正数以二进制原码表示;负数则以补码存储,即将原码逐位取反再加1。

十六进制(Hexdecimal notation):逢16进1的进位制。一般用数字0到9和字母A到F(或a~f)表示,其中:A~F表示10~15,这些称作十六进制数字。

八进制(Octal notation):逢八进一,单个数有0-7,在PLC中常用于编址,数据运算应用较少。

BCD码:(Binary-Coded Decimal‎)亦称二进码十进数或二-十进制代码。用4位二进制数来表示1位十进制数中的0~9这10个数码。通常时钟采用BCD码存储。

ASCII:(American Standard Code for Information Interchange:美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的系统,并等同于国际标准ISO/IEC 646。PLC中数据存储只能以0和1形式,其它数据可通过进制转换成二进制,但是字母和一些特殊符号用什么表示则需要约定一套转换规则,于是美国有关的标准化组织就出台了ASCII编码。

浮点数(float):又称实数(REAL),浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用于近似表示任意某个实数。具体来说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学计数法。

在二进制科学表示法中,S=M×2^N 主要由三部分构成:符号位+阶码(N)+尾数(M)。对于float型数据,其二进制有32位,其中符号位1位,阶码8位,尾数23位。符号位:0表示正,1表示负。阶码:这里阶码采用移码表示,对于float型数据其规定的偏置量为127,阶码有正有负,对于8位二进制,则其表示范围为−128~127。比如,对于float型数据,若阶码的真实值为2,则加上127后为129,其阶码表示形式为10000010。尾数:有效数字位,即部分二进制位(小数点后面的二进制位),因为规定M的整数部分恒为1,所以这个1就不进行存储了。下面举例说明:

float型数据125.5转换为标准浮点格式,125的二进制表示形式为1111101,小数部分表示为二进制为 1(小数部分乘以2,小于1则为0,大于1则为1,小数继续乘以2,直到小数部分为0为止),则125.5二进制表示为1111101.1,由于规定尾数的整数部分恒为1,则表示为1.1111011*2^6,阶码为6,加上127为133,则表示为10000101,而对于尾数将整数部分1去掉,为1111011,在其后面补0使其位数达到23位,则为11110110000000000000000。则其二进制表示形式为:0 10000101 11110110000000000000000

那么这些进制之间是如何转换呢?

1.十进制转二进制

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

(具体用法如下图)

2.

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

(具体用法如下图)

3.二进制转八进制

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

(具体用法如下图)

4.八进制转成二进制

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

(具体用法如下图)

5.二进制转十六进制

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

(具体用法如下图)

6.十六进制转二进制

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

(具体用法如下图)

7.十进制转八进制或者十六进制有两种方法

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

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

(具体用法如下图)

8.八进制或者十六进制转成十进制

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

(具体用法如下图)

9.BCD码转十进制:因为BCD码是用四位二进制表示一位十进制数,所以转换方法类似二进制转十六进制“取四合一”法,四位组合后转成十进制得到的就是十进制。

以上介绍了PLC中常用进制及相互转换方法,意在让初学者理解进制含义及转换规律。真正使用时可利用计算机提供的程序员型计算器轻松运算出来。

此文为工控帮徐家龙老师整理,转载请注明出处

End

责任编辑:

plc里的二进制 用计算机,PLC中常用数制及如何转换相关推荐

  1. plc里的二进制 用计算机,如何理解二进制和十六进制(电工入门PLC知识普及)...

    如何理解二进制和十六进制(电工入门PLC知识普及)三菱PLC直观易懂,便于入门!!而欧系的西门子PLC太复杂,不适合入门!!这句话已经成了很多人的口头语,但是,到底是为什么呢??恐怕很多人说不清楚!! ...

  2. 俄语使用计算机怎么说,计算机专业中常用的俄语词汇

    Выровнять ширину столцов平均分布各列 Выровнять высоту строк平均分布各行 кранная клавиатура屏幕键盘 Оычный普通 Другие ц ...

  3. 在计算机术语中常用byte表示,2016年计算机一级MS Office上机考试题

    1.CPU中有一个程序计数器(又称指令计数器),它用于存放( ).D A)正在执行的指令的内容 B)下一条要执行的指令的内容 C)正在执行的指令的内存地址 D)下一条要执行的指令的内存地址 2.CPU ...

  4. 计算机网络系统中常用的四对双绞线电缆,计算机网络中常用的三种有线传输媒体是什么?...

    计算机网络中常用的三种有线传输媒体是双绞线.同轴电缆.光纤.双绞线是一种综合布线工程中最常用的传输介质:同轴电缆是指有两个同心导体,而导体和屏蔽层又共用同一轴心的电缆:光纤是一种由玻璃或塑料制成的纤维 ...

  5. 如何利用计算机进行数制转换,如何教授计算机基础中的数制转换内容

    摘 要: 作者从在计算机基础教学中有关数制转换中学生作业中发现的问题入手,加以分析和有效解决,不仅保证教学效果,而且进一步提高教学质量. 关键词: 计算机基础教学 Windows计算器 数制转换法 在 ...

  6. 计算机控制系统中常用的过程通道,计算机控制系统3第三章 (1).ppt

    <计算机控制系统3第三章 (1).ppt>由会员分享,可在线阅读,更多相关<计算机控制系统3第三章 (1).ppt(34页珍藏版)>请在人人文库网上搜索. 1.计算机控制技术, ...

  7. 计算机中常用数制及编码教案,计算机《数制与编码-进制转换》公开课教案

    <计算机<数制与编码-进制转换>公开课教案>由会员分享,可在线阅读,更多相关<计算机<数制与编码-进制转换>公开课教案(8页珍藏版)>请在人人文库网上搜 ...

  8. 计算机网络通信中常用的检错码,4月全国高等教育自学考试计算机网络与通信试题及答案解析...

    <4月全国高等教育自学考试计算机网络与通信试题及答案解析>由会员分享,可在线阅读,更多相关<4月全国高等教育自学考试计算机网络与通信试题及答案解析(4页珍藏版)>请在人人文库网 ...

  9. Java 中常用的进制转换

    前言 所谓进制转换,就是人们利用符号来计数的方法.进制转换由一组数码符号和两个基本因素"基数"和"位权"所构成.其中基数是指进位计数制中所采用的数码的个数,逢  ...

最新文章

  1. 【poj3208-Apocalypse Someday】数位DP
  2. springMVC--(讲解5)文件上传与传参测试
  3. AVFoundation之如何从摄像头获取图像
  4. 你一定会用的18个linux网络监控工具
  5. 初探ES6中的Map和WeakMap
  6. CF--思维练习--CodeForces - 221C-H - Little Elephant and Problem (思维)
  7. 【IT笔试面试题整理】数组中出现次数超过一半的数字
  8. 接口测试到底是什么?如何制造接口数据
  9. python golang 小工具_使用Go语言简单模拟Python的生成器
  10. tcp socket的发送与接收缓冲区
  11. I/O多路复用技术是什么?
  12. 基于JSP的蛋糕销售系统设计与实现答辩ppt模板
  13. Intel Mac无法使用macOS Monterey系统部分新功能
  14. python 读取远程服务器文件
  15. (环境搭建+复现)ZZZCMS模版注入+文件包含getshell
  16. office 2019 word公式键盘输入空格无响应
  17. 三级等级保护之安全管理中心
  18. Matlab中sqrt函数的用法
  19. The field file exceeds its maximum permitted size of 1048576 bytes.
  20. 【高等数学】平面束方程的俩种设法与其中一种设法会出现的漏解问题

热门文章

  1. Nodejs 正则表达式
  2. 上半年最中意的 GitHub 更新「GitHub 热点速览 v.22.21」
  3. 个人简历介绍自己怎么写? 我的优势如何表达
  4. 短域名系统设计详解(全)
  5. 【自动驾驶】缓和曲线---clothoid回旋曲线
  6. 计及需求侧响应日前、日内两阶段鲁棒备用优化【IEEE6节点】(Matlab代码实现)
  7. Python: 从pcap文件中提取每个TCP session的payload
  8. 百度升级烽火算法2.0,建议网站https改造打击网站劫持
  9. 一篇文章,带你走进Java
  10. php的表达爱意的一句代码,含蓄表达爱意的爱情诗句(70条)