2013-05-09 49 views

cevap

16

emin değil örneğin numpy kullanılarak

import ctypes 

def int32_to_uint32(i): 
    return ctypes.c_uint32(i).value 
+0

O Bu bağlamda muhtemelen anlamlı bir sonuç olmayan bir Python tamsayı türünü döndürür, aslında bir uint32 olmadığı için. Sanırım onu ​​nasıl kullandığına bağlı. – Cairnarvon

+0

@Cairnarvon: "1" ve "-1" için, OP'nin sürümü sırasıyla bir "int" ve "long" döndürür. Benim versiyonum her ikisi için bir 'long' döndürüyor. – martineau

+0

Güzel! Bunu tercih ederim. Bu, struct olarak çapraz platform mu? – Claudiu

3

:

import numpy 
result = numpy.uint32(numpy.int32(myval)) 

hatta diziler üzerinde,

arr = numpy.array(range(10)) 
result = numpy.uint32(numpy.int32(arr)) 
İlgili konular