Python 价值<;=最大限度
我想知道,使用位操作是否可以实现类似的效果:Python 价值<;=最大限度,python,bit,operations,Python,Bit,Operations,我想知道,使用位操作是否可以实现类似的效果: if a > maximum: a = maximum a = maximum ^ ((a ^ maximum) & -(a < maximum)) 其中“最大值”可以是随机数 在我当前的代码中有许多类似的行。当然可以使用: def foo(a, max=512): return a if a<max else max def foo(a,max=512):返回a如果a不需要为此定义自己的函数,min和max已内置:
if a > maximum: a = maximum
a = maximum ^ ((a ^ maximum) & -(a < maximum))
其中“最大值”可以是随机数
在我当前的代码中有许多类似的行。当然可以使用:
def foo(a, max=512): return a if a<max else max
def foo(a,max=512):返回a如果a不需要为此定义自己的函数,min
和max
已内置:
a = min(maximum, a)
根据,也可以使用位操作:
if a > maximum: a = maximum
a = maximum ^ ((a ^ maximum) & -(a < maximum))
a=maximum^((a^最大值)和-(a
但在绝大多数情况下,性能优势并不值得让代码很难理解。此外,这仅适用于整数,而min
函数可用于所有可比较的类型。无需为此定义自己的函数,min
和max
已内置:
a = min(maximum, a)
根据,也可以使用位操作:
if a > maximum: a = maximum
a = maximum ^ ((a ^ maximum) & -(a < maximum))
a=maximum^((a^最大值)和-(a
但在绝大多数情况下,性能优势并不值得让代码很难理解。此外,这仅适用于整数,而min
函数可用于所有可比较的类型。使用max和min可获得清晰的代码
这就是说,可以使用位旋转:使用max和min可以获得清晰的代码
也就是说,可以使用位旋转:使用内置的min
功能怎么样a=min(最大值,a)
,不是位运算,而是更优雅和简洁的。@天哪,如果我是你的话,我会把它作为一个答案提交给你。位运算不会产生更多的灵活性。使用内置的min
函数怎么样a=min(maximum,a)
,不是一个位运算,而是更优雅、更简洁的。@天哪,如果我是你的话,我会把它作为一个答案提交给你。按位运算不会带来更多的灵活性谢谢,这真的是最好的选择。谢谢,这真的是最好的选择。