2's complement conversion. Is this right?

Ross Ridge rridge at caffeine.csclub.uwaterloo.ca
Fri Apr 18 19:55:32 EDT 2008


George Sakkis  <george.sakkis at gmail.com> wrote:
>You'd better use a more precise timing method than finger counting,
>such as timeit. Twice as fast is probably a gross overestimation; on
>my box (Python 2.5, WinXP) avoiding unpack is around 10% and 40%
>faster from Ross's and Grant's method, respectively:
...
>def from3Bytes_ross(s):
>    return unpack(">l", s + "\0")[0] >> 8

If you have Python 2.5, here's a faster version:

	from struct import *
	unpack_i32be = Struct(">l").unpack

	def from3Bytes_ross2(s):
	    return unpack_i32be(s + "\0")[0] >> 8

					Ross Ridge

-- 
 l/  //	  Ross Ridge -- The Great HTMU
[oo][oo]  rridge at csclub.uwaterloo.ca
-()-/()/  http://www.csclub.uwaterloo.ca/~rridge/ 
 db  //	  



More information about the Python-list mailing list