快速将整数分割为字节的方法

2024-05-12 19:22:14 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我有一个可以容纳32位的int,那么在python中将它拆分为4个8位值的最快方法是什么?我的简单计时测试表明,比特掩蔽和移位的速度比divmod()稍快,但我很确定我没有想到所有的事情。

>>> timeit.timeit("x=15774114513484005952; y1, x =divmod(x, 256);y2,x = divmod(x, 256); y3, y4 = divmod(x, 256)")
0.5113952939864248
>>> timeit.timeit("x=15774114513484005952; y1=x&255; x >>= 8;y2=x&255; x>>=8; y3=x&255; y4= x>>8")
0.41230630996869877

在你问之前:这个手术会用很多。我正在使用Python3.4。


Tags: 方法事情速度中将int手术计时移位