西门子plcs7-200乘法指令,西门子S7-200系列PLC学习
西门子plcs7-200乘法指令,西门子S7-200系列PLC学习如对于无符号数0~255(0~127;128~255)而言,换算成为有符号数,则是 0~127;对于128该如何转换呢?具体来说,就是求此数的补码。具体操作请看下图:这时第一位如果为0,则认为是正数。如果为1,则被认为是负数。这里,我们讲一下反码和补码:符号位在所有符号数中,对于字节、字和双字,我们通常认为其最高位为“符号位”(如上图所示),
本节课程,我们重点学习数的分类。如下图所示:
如字节所显示,如果是无符号数,就是0-255;而作为有符号数,就是-128~ 127。
这里我们先讲一下,二进制与十进制的转化:
转化成为十进制,就是自右向左,每个位上的数据(0或1)乘以2在相应(位-1)的平方。然后累加后的值,就是该二进制数,转化为十进制数后的值。
这里,我们讲一下反码和补码:
符号位
在所有符号数中,对于字节、字和双字,我们通常认为其最高位为“符号位”(如上图所示),
这时第一位如果为0,则认为是正数。如果为1,则被认为是负数。
如对于无符号数0~255(0~127;128~255)而言,换算成为有符号数,则是 0~127;对于128该如何转换呢?具体来说,就是求此数的补码。具体操作请看下图:
补码操作
十进制数128转换成二进制,就是1000 0000.先逐位取反码,然后 1,算得补码。
经过演算推导之后,我们会发现,255最终的值是等于-1的。
255转有符号数
255转2进制,取符号换算
而对于字类型的地址而言,取值范围则相对要大一些。
本节重点:
- 学习如何取反码和补码;
- 如何实现无符号数向有符号数的转化。
下节课,我们学习一下BCD码