快捷搜索:  汽车  科技

西门子plcs7-200乘法指令,西门子S7-200系列PLC学习

西门子plcs7-200乘法指令,西门子S7-200系列PLC学习如对于无符号数0~255(0~127;128~255)而言,换算成为有符号数,则是 0~127;对于128该如何转换呢?具体来说,就是求此数的补码。具体操作请看下图:这时第一位如果为0,则认为是正数。如果为1,则被认为是负数。这里,我们讲一下反码和补码:符号位在所有符号数中,对于字节、字和双字,我们通常认为其最高位为“符号位”(如上图所示),

本节课程,我们重点学习数的分类。如下图所示:

西门子plcs7-200乘法指令,西门子S7-200系列PLC学习(1)

如字节所显示,如果是无符号数,就是0-255;而作为有符号数,就是-128~ 127。

这里我们先讲一下,二进制与十进制的转化:

西门子plcs7-200乘法指令,西门子S7-200系列PLC学习(2)

转化成为十进制,就是自右向左,每个位上的数据(0或1)乘以2在相应(位-1)的平方。然后累加后的值,就是该二进制数,转化为十进制数后的值。

这里,我们讲一下反码和补码:

西门子plcs7-200乘法指令,西门子S7-200系列PLC学习(3)

符号位

在所有符号数中,对于字节、字和双字,我们通常认为其最高位为“符号位”(如上图所示),

这时第一位如果为0,则认为是正数。如果为1,则被认为是负数。

如对于无符号数0~255(0~127;128~255)而言,换算成为有符号数,则是 0~127;对于128该如何转换呢?具体来说,就是求此数的补码。具体操作请看下图:

西门子plcs7-200乘法指令,西门子S7-200系列PLC学习(4)

补码操作

十进制数128转换成二进制,就是1000 0000.先逐位取反码,然后 1,算得补码。

经过演算推导之后,我们会发现,255最终的值是等于-1的。

西门子plcs7-200乘法指令,西门子S7-200系列PLC学习(5)

255转有符号数

西门子plcs7-200乘法指令,西门子S7-200系列PLC学习(6)

255转2进制,取符号换算

而对于字类型的地址而言,取值范围则相对要大一些。

西门子plcs7-200乘法指令,西门子S7-200系列PLC学习(7)

本节重点:

  • 学习如何取反码和补码;
  • 如何实现无符号数向有符号数的转化。

下节课,我们学习一下BCD码

猜您喜欢: