2013-05-09 128 views

回答

16

不知道這是否是 「更好」 或不...例如使用numpy的

import ctypes 

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

那返回一個Python整數類型,雖然這在這種情況下可能不是一個有意義的結果,因爲它實際上不再是uint32了。我想這取決於他如何使用它。 – Cairnarvon 2013-05-09 01:50:17

+0

@Cairnarvon:對於'1'和'-1',OP的版本分別返回一個'int'和一個'long'。我的版本爲兩者返回一個「長」。 – martineau 2013-05-09 03:47:41

+0

不錯!我可能會更喜歡這個。這是與'struct'的跨平臺嗎? – Claudiu 2013-05-09 14:53:27

3

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

甚至陣列上,

arr = numpy.array(range(10)) 
result = numpy.uint32(numpy.int32(arr)) 
相關問題