8
Questo è quello che ho, attualmente. C'è un modo migliore per farlo?Come convertire l'int firmato a 32 bit int a 32 bit senza segno int?
import struct
def int32_to_uint32(i):
return struct.unpack_from("I", struct.pack("i", i))[0]
Quello restituisce un tipo intero Python, che probabilmente non è un risultato significativo in questo contesto, in quanto non è più un uint32. Suppongo che dipenda da come lo sta usando. – Cairnarvon
@Cairnarvon: per '1' e' -1', la versione dell'OP restituisce rispettivamente un 'int' e un' long'. La mia versione restituisce un 'long' per entrambi. – martineau
Bello! Probabilmente preferirei questo. È così multipiattaforma come 'struct'? – Claudiu