如果我有一个可以容纳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。
目前没有回答
相关问题 更多 >
编程相关推荐