第一次
1、都是按二进制按位与。
47=2#0010 1111 16#0F=2#0000 1111,按位与(47 and 16#0F)=(2#0010 1111 and 2#0000 1111)=2#0000 1111=10#15
16=2#0001 0000,16 and 16#0F=(2#0001 0000 and 2#0000 1111)=2#0000 0000=10#0
2、A包含了A.%X0A.%X15,如果你的计数是从0开始那就是第五位,如果你的计数是从1开始那就是第六位。USINT的意思是这个数是整数,最高位是数值位不是符号位,一个byte表示的范围是0255,int表示的是这个数是整数,最高位是符号,表示的范围是-128127。7位,第一个位应该是第0位,所以你说的应该是第4位。)
一个byte是8位,所以15正确的表示是2#0000 1111。你最后的理解是正确的。A:=B&16#0F,第五到第八位为零(按照二进制的表示方法,0
第二次
47=2#00101111
16#0F=2#00001111
16=2#00010000
它们进行and逻辑
47 and 16#0F
2#00101111 and 2#00001111=2#000011111=15
16 and 16#0F
2#00010000 and 2#00001111=2#00000000=0
47=2#00101111 错误
47=2#01000111 正确