艾宝物联PLC教程08:PLC旋转和移位运算

旋转函数在整数寄存器中旋转位。通常有两种选择:

  • 向左或向右旋转?
  • 你想旋转多少位?

 

向左旋转

示例:8位Int,值为0xC5 
11000101 =二进制值
10001011 =向左旋转1位
00010111 =向左旋转2位

 

向右旋转

示例:8位Int,值为0xC5 
11000101 =二进制值11100010 
=向右旋转1位
01110001 =向右旋转2位

 

Shift的工作方式与Rotate类似,除了结束位发生的情况。在一侧,比特被移出,其他比特移入。通常有3个选项:

  • 左移或右移?
  • 你想转移多少位?
  • 你想转入什么价值?这可以是固定值(0或1),也可以来自寄存器。
左移
示例:8位Int,值为0xC5 
11000101 =二进制值
10001011 =向左移位1位(值1移位)
00010111 =向左移位2位(值1移位)

 

右移

示例:8位Int,值为0xC5 
11000101 =二进制值
01100010 =右移1位(值移位0)
00110001 =右移2位(值移位0)