plc⾥的⼆进制⽤计算机,PLC中常⽤数制及如何转换
原标题: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
责任编辑: