【发布时间】:2012-09-11 18:03:07
【问题描述】:
我有两个数字(二进制或非二进制,没有任何作用),它们只有一位不同,例如(伪代码)
a = 11111111
b = 11011111
我想要一个简单的 python 函数,它返回不同的位位置(给定示例中的“5”,从右到左看)。我的解决方案是(python)
math.log(abs(a-b))/math.log(2)
但我想知道是否有更优雅的方法来做到这一点(不使用浮点数等)。
谢谢 亚历克斯
【问题讨论】:
-
尝试使用按位异或代替 abs(a-b)