如何解决当按位与&运算等于或大于按位xor ^运算时?
当按位&运算大于或等于按位^操作时?
例如,4&7> = 4 ^ 7为真。
我们怎么知道什么时候是真的?
一种方法是手动执行将被隐藏的技巧?
解决方法
如果我们只谈论设置位。当最高 common 设置位也是每个数字中的最高设置位时,此条件将成立。
为什么?因为当两个数字中最高的设置位也是公共位时,该位将在与运算的结果中被设置。而且不会在XOR操作的结果中设置它。
如果最大位数中最高的置位位也未同时设置在较低数位中,则该位必然会在XOR操作中设置,而不会在AND操作中设置。
,您可以像这样创建快速的String
图像:
for i in 1...25 {
var foo = ""
for j in 1...25 {
foo += i&j >= i^j ? "•" : " "
}
print(foo)
}
•
••
••
••••
••••
••••
••••
••••••••
••••••••
••••••••
••••••••
••••••••
••••••••
••••••••
••••••••
••••••••••
••••••••••
••••••••••
••••••••••
••••••••••
••••••••••
••••••••••
••••••••••
••••••••••
••••••••••
请注意正方形是如何平方增长的。
由此可见,i == j == true
总是返回true。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。