duk*_*kem 1 python operations bit
我想知道,是否有可能实现类似的位操作:
if a > maximum: a = maximum
Run Code Online (Sandbox Code Playgroud)
"最大值"可以是随机数吗?
在我当前的代码中有许多类似的行.当然可以使用:
def foo(a, max=512): return a if a<max else max
Run Code Online (Sandbox Code Playgroud)
只是好奇,如果有一个更优雅和有效的方式.
没有必要为此定义自己的函数,min
并且max
已经内置:
a = min(maximum, a)
Run Code Online (Sandbox Code Playgroud)
根据Raymond的回答,也可以使用位操作:
a = maximum ^ ((a ^ maximum) & -(a < maximum))
Run Code Online (Sandbox Code Playgroud)
但在绝大多数情况下,性能优势并不值得使代码很难理解.此外,这仅适用于整数,而该min
函数可用于所有类似的类型.
归档时间: |
|
查看次数: |
113 次 |
最近记录: |