All pastes #91570 Raw Edit

sauer_uint

public python v1 · immutable
#91570 ·published 2006-07-18 18:51 UTC
rendered paste body
def to_uint(array, pos=0):	#byte 1	n = array[pos]	if (not (n & (1 << 7))):		return n, pos+1	n -= (1 << 7)		#byte 2	n = n | (array[pos+1] << 7)	if (not (n & (1 << 14))):		return n, pos+2	n -= (1 << 14)		#byte 3	n = n | (array[pos+2] << 14)	if (not (n & (1 << 21))):		return n, pos+3	n -= (1 << 21)		#byte 4	n = n | (array[pos+3] << 21)	#Negative numbers	if (n & (1 << 28)):		n -= (1 << 28);		n = -( (~n & 0x0FFFFFFF) + 1)	return n, pos+4print to_uint([5])print to_uint([100])print to_uint([255, 1])print to_uint([232, 7])print to_uint([255, 255, 255, 255])print to_uint([230, 250, 255, 255])print to_uint([174, 246, 255, 255])print to_uint([241, 177, 255, 255])