按位移位运算符可以通过乘以或除以 2
的幂来以 10 为底进行计算。例如:
5 << 2 = 5 * 2 ** 2 = 20
7 >> 3 = 7 // 2 ** 3 = 0
对于and
、or
和Xor
按位运算符是否有类似的情况?例如,如果我想查找 629
和 1309
,我可以用二进制表示它们,并得到答案 21
(0b10101
code>) 就相当清楚了。但是,是否可以在不使用二进制的情况下以不涉及将两者分解为 2 的幂和的方式来计算它?
最佳答案
根据Wikipedia article ,答案是“否”:这些运算的唯一已知数学表示涉及“循环”(即求和)。
关于binary - 按位运算符 &、|、^ 可以以 10 为底进行计算吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27584137/