∙ 前言
∙ 因为电路状态只有“开”和“关”两种状态,为了在电路中进行数字计算,所以在计算机(电路)中使用了二进制计数系统,该系统只使用0和1。
∙ 在存储器中,也是使用二进制的计数系统。
∙ 二进制是以2为基的数制。在二进制系统中,用于表示高和低的两个逻辑电平分别是逻辑1和逻辑0。
∙ 在数字电路中,电平表示位(bit)。
∙ 由于二进制用于所有的数学系统,所以就需要有一种方式将我们常用的十进制转化为二进制。另外,为了将数字电路输出的二进制转化为人们可使用的十进制形式,还需要一种将二进制转化为十进制的方法。
∙ 前言
∙ 本章节就简单讲述以下内容:
– PLC中常用的数制;
– 数制之间的相互转化方式;
– 各种数制在PLC中的存储方式。
∙ 数制
∙ 在PLC中,常用的数制有以下几种:
– 十进制
– 二进制
– 八进制
– 十六进制
– BCD码
– BIN码
– 格雷码(不做讲解)
– 7段码(不做讲解)
∙ 下面分别讲述这几种编码的表述形式与转化方式
∙ 十进制回顾一
∙ 二进制编码转换十进制是一个位权计数系统;所谓位权计数系统,意思就是每一个数字所在的位置都有一个特定的权(值)。
∙ 例如:数字5根据小数点的不同位置代表不同的值。数字0.5,5,500都包含一个5,但是每个5的位置不同,所以这几个数大小就不一样。
∙ 在十进制中,使用0,1,2,3,4,5,6,7,8,9十个基本符号,每个符号称为一个数位。
∙ 例如:60328.4的计算方法:
6x104+ 0x103 + 3x102 + 2x101 + 8x100 + 4x10-1
∙ 十进制计数系统回顾二
∙ 在本例中将每个位置的权值相加,用来确定十进制的值。
∙ 6x104+ 0x103 + 3x102 + 2x101 + 8x100. + 4x10-1=60328.4
∙ 需要注意的是,本例中0没有值,但是对于位权而言,还需要0作为一个占位符。
∙ 在上面的讲述中,由于大家都已经习惯于使用十进制思考,所以这样处理就显得毫无必要,但是对于下面要讲到的数制来说,该处理过程就非常有必要了。产生这种必要性的原因是人们不习惯用2,8,16作为基数的系统进行思考。
∙ 在数字60328.4中最高位是6,最低位是4,6在数字的最左边,4在数字的最右边,小数点
将整数与小数部分分割开来;实际上,所有数制系统都是类似的!
∙ 二进制计数系统一
∙ 与十进制系统一样,二进制系统也是一个位权计数系统。由于二进制系统只使用0和1这两个基本符号,所以它是一个基数为2的系统。它的位权如下表:
∙ 二进制系统的计算
∙ 二进制系统的计算:二进制系统的计算和十进制类似。例如:0011+0101=1000;0111+0001=1000。
∙ 在右表,是十进制与二进制的一个对照表
∙ 二进制与十进制的转换:加权求和法
∙ 如果必须确定二进制数字对应的十进制数;可以采用加权求和的方法来解决。该方法就是将每一位为1的位权值累加起来。
∙ 例如:将1101转换为十进制。
∙ • 1101(2)=1X23+ 1X22 + 0X21 + 1X20
=13 (10)
∙ 二进制与十进制的转换:基数相乘法一
∙ 在将不同的数制的数字进行互相转换时,还可以用到另一种重要的方法称之为基数相乘法。举例如下:
∙ 例如:将11100 (2)转换为十进制数。
∙ 第一步:将0+最高位
∙ 第二步:和乘以2
∙ 第三步:将乘积加到下一位
∙ 第四步:从第二步重复一直到最后一位
∙ 解((((0+1)X2+1)X2+1)X2+0)X2+0=28
∙ 在以上例二进制解法中由于重复使用了二进制计数系统的基数和值相乘的运算,所以称之为基数相乘法。
∙ 二进制与十进制的转换: 基数相乘法二
∙ 例如:将100101(2)转换为十进制数。
∙ 100101(2)=37
∙ 0+1=1;1×2=2;
∙ 2+0=2;2×2=4;
∙ 4+0=4;4×2=8;
∙ 8+1=9;9×2=18;
∙ 18+0=18;18×2=36
∙ 36+1=37
∙ 需要注意的是,如果需要对小数转换,需要用到基数相除法。
∙ 二进制与十进制的转换:基数相除法一
∙ 例如:将0.11(2)转换为对应的十进制数。
∙ 第一步:从将要转换的小数的最低位开始
∙ 第二步:将最低位数除以2
∙ 第三步:将商转为前面的小数
∙ 第四步:重复第二步一直到达小数点
1/ 2 =0.5;
1.5 / 2 =0.75
0.11(2)=0.75
∙ 二进制与十进制的转换:基数相除法二
∙ 例如:将0.101(2)转换为十进制数
∙ 解:
∙ 1/2 =0.5
∙ 0.5/2 =0.25
∙ 1.25/2 =0.625
∙ 0.101(2)=0.625
∙ 十进制与二进制的转换:基数相除法一
∙ 能够将十进制转换为二进制同样重要。基数相除法可以用在将十进制整数转换为二进制数。基数相除法进行转换的过程为:
∙ 第一步:将十进制数除以2
∙ 第二步:将得到的商的整数部分放到刚除过数的左边。
∙ 第三步:将得到的余数放到刚除过数的上边。
∙ 第四步:将得到的商除以2,重复第二步一直到商为1
∙ 十进制与二进制的转换:基数相除法二
∙ 例如:将14转换为二进制数字
∙ 14/2=7……0
∙ 7/2=3……1
∙ 3/2=1……1
∙ 1/2=0……1
∙ • 所以14=1110(2)
∙ 十进制与二进制的转换:基数相除法三
∙ 例如:将92转换为二进制数
∙ 92/2=46……0
∙ 46/2=23……0
∙ 23/2=11……1
∙ 11/2=5 ……1
∙ 5/2=2 ……1
∙ 2/2=1 ……0
∙ 1/2=0 ……1
∙ • 92=1011100(2)
∙ 十进制与二进制的转换:基数相乘法一
∙ 基数相除法用于十进制转换为二进制,将十进制的小数部分转换为二进制的时候就要用基数相乘法。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论