Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 价值<;=最大限度_Python_Bit_Operations - Fatal编程技术网

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)
,不是一个位运算,而是更优雅、更简洁的。@天哪,如果我是你的话,我会把它作为一个答案提交给你。按位运算不会带来更多的灵活性谢谢,这真的是最好的选择。谢谢,这真的是最好的选择。