提供一个思路
查看原帖
提供一个思路
1284733
sanghaozhe楼主2024/10/15 19:18

一个状态码,只会是某一位从1变成了0,不可能从0变成1

比如1001011可能是5(1011011)变成的(第三位变成0),但不可能是0(1111110)变成的,因为最后一位不可能从0变成1。

也就是说,1001011如果是数字n变成的,n的状态码的第1,4,6,7位必须为1,其余随意

所以,把显示器和10个数字的状态码看成二进制数字,分别记作x和y,已知x的某一位为1的时候y的相应位数必须为1,又因为可以用x&y求出x与y均为1的数位 (例如1001011(2) & 1011011(2) = 1001011(2),两数的第1,4,6,7位均为1)

综上,当x&y==x的时候,x可能是y变成的,否则不是

2024/10/15 19:18
加载中...