Binary 可以使用位运算符&;,|,^以10为基数计算?

Binary 可以使用位运算符&;,|,^以10为基数计算?,binary,bitwise-operators,Binary,Bitwise Operators,按位移位运算符可以在base-10中通过乘以或除以2的幂来计算。例如: 5 << 2 = 5 * 2 ** 2 = 20 7 >> 3 = 7 // 2 ** 3 = 0 5>3=7//2**3=0 和、或和异或按位运算符是否存在类似的情况?例如,如果我想查找629和1309,我可以用二进制表示它们,答案21(0b10101)将相当清楚。但是,有没有可能不使用二进制进行计算,而不需要将二者分解为二的幂和?根据,答案是“否”:这些运算的唯一已知数学表示涉及“循环”(即和

按位移位运算符可以在base-10中通过乘以或除以
2的幂来计算。例如:

5 << 2 = 5 * 2 ** 2 = 20
7 >> 3 = 7 // 2 ** 3 = 0
5>3=7//2**3=0

异或
按位运算符是否存在类似的情况?例如,如果我想查找
629
1309
,我可以用二进制表示它们,答案
21
0b10101
)将相当清楚。但是,有没有可能不使用二进制进行计算,而不需要将二者分解为二的幂和?

根据,答案是“否”:这些运算的唯一已知数学表示涉及“循环”(即和)。

请注意,您的示例并不是真正的10进制计算。相反,它们基于抽象整数(在Python程序中,这些整数恰好是二进制的)进行计算。