左移和右移的運算規(guī)則 plc移位指令實例?
plc移位指令實例?有四個循環(huán)右移、循環(huán)左移、循環(huán)右移和循環(huán)左移指令(左和右)。循環(huán)移位指令的8位是循環(huán)移位,即循環(huán)左移1位是左移1位到最高位置,循環(huán)右移1位到相應(yīng)位是右移1位到最低位置,循環(huán)左移1位
plc移位指令實例?
有四個循環(huán)右移、循環(huán)左移、循環(huán)右移和循環(huán)左移指令(左和右)。循環(huán)移位指令的8位是循環(huán)移位,即循環(huán)左移1位是左移1位到最高位置,循環(huán)右移1位到相應(yīng)位是右移1位到最低位置,循環(huán)左移1位到最高位置。移位指令是PLC的重要指令,可用于步進順序控制,利用這種順序控制方式可實現(xiàn)其它控制功能。給出了兩個例子來說明移位指令的應(yīng)用。1個循環(huán)閃爍程序,循環(huán)控制8個燈。從第一個燈開始,每隔5秒一個燈亮,八個燈全部亮后,從第一個燈開始,每隔5秒一個燈關(guān)
11000左移運算符用于將一個數(shù)字的所有二進制位移到左邊。例如,a的二進制數(shù)向左移位2位,向右移位0位。如果a=15,即二進制數(shù)00001111,左移2位得到00111100,即十進制數(shù)60(為簡單起見,用8位二進制數(shù)表示十進制數(shù)15,如果用左移運算符(3個)16位二進制數(shù)表示,結(jié)果相同)。當(dāng)高位向左移動時,它溢出并放棄。左邊一位等于數(shù)字乘以2,左邊兩位等于數(shù)字乘以2^2=4。在上面的例子15中
logical left shift=算術(shù)left shift,向右均勻添加0,邏輯right shift,向左均勻添加0,算術(shù)right shift,左邊添加的數(shù)字與符號相關(guān),例如:1010101010,其中[]位是添加的數(shù)字,邏輯左移一位:010101010[0]算術(shù)左移一位:010101010[0]邏輯右移一位:[0]101010101,算術(shù)右移一位:[1]101010010101因此對于雙字SHL ax,1將最高位移到cfrcl DX,1將進位邏輯左移,CF移到DX的最低位