位(bit)操作技巧 – 1

关于在PLC以及ROBOT编程中涉及到一些位(bit)的操作,如input \ outpit \ marker。有一些技巧可以学习掌握, LT 就此记录了一些点滴。

1.
Q: 如何把一段bits置0 (复位)
A: 将需要置0的bits值与0做AND(与)操作,需要保留的bits则与1做and操作

举例:
 1100b,欲保留bit1 和 bit2 ,其他置0
 则
 1100b AND 0110b
 结果为 0100b

2.
Q: 如何把一段bits取反
A: 将值与1做XO(异或)操作。原理是:相同为0,不同为1。

举例:
 1010b  取反
 则
 1010b XOR 1111b
 结果为 0101b

3.
Q:如何 toggle 一个状态?
A:执行XOR运算

举例:
bit3为某个功能,一个按钮按一下可以激活,再按一下可以取消
_byte XOR 1000b  将只改变一次变量_byte的bit3的状态,其他位不受影响
_byte XOR 1000b  将又改变一次变量_byte的bit3的状态,其他位不受影响

以上运算可以使用Windows自带的计算器验证.

2 thoughts on “位(bit)操作技巧 – 1

  1. Pingback: 位(bit)操作技巧 – 2 | LT

  2. Pingback: 位(bit)操作技巧 – 3 | LT

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.