web-dev-qa-db-ja.com

符号付き32ビット整数を符号なし32ビット整数に変換する方法は?

これは私が現在持っているものです。これを行うためのより良い方法はありますか?

import struct
def int32_to_uint32(i):
    return struct.unpack_from("I", struct.pack("i", i))[0]
8
Claudiu

それが「より良い」かどうかわからない...

import ctypes

def int32_to_uint32(i):
    return ctypes.c_uint32(i).value
17
martineau

たとえば、numpyを使用します。

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

またはアレイ上でも、

arr = numpy.array(range(10))
result = numpy.uint32( numpy.int32(arr) )
5
user3181121