因为有READ_SDA做判断,
理一下程序思路,
如果READ_SDA为零:
自然receive最低位为零和读入的READ_SDA读到的输入一致,然后通过移位操作读到的最新的一位移到倒数第二位。
然后第二次判断READ_SDA,如果这时READ_SDA读到为一:
自然进入判断,然后receive自加一,这一步就相当于更新最低位了,然后刚更新的一位继续前移,就达到效果了。
其实使用二进制的与操作效率上更高
因为有READ_SDA做判断,
理一下程序思路,
如果READ_SDA为零:
自然receive最低位为零和读入的READ_SDA读到的输入一致,然后通过移位操作读到的最新的一位移到倒数第二位。
然后第二次判断READ_SDA,如果这时READ_SDA读到为一:
自然进入判断,然后receive自加一,这一步就相当于更新最低位了,然后刚更新的一位继续前移,就达到效果了。
其实使用二进制的与操作效率上更高