负向正整数转换,适合64位Python的单词

假设我们在Python中有一个64-bits负数int

x = -9223372036854775808 # in binary: 1000 0000 ... [48 zeroes more] ... 0000 0000

现在,我想将此数字转换为正数并保留其二进制表示形式。对我来说,最快的方法是:

x = x & 0x0FFFFFFFFFFFFFFFF # in binary: 0 1000 0000 ... [48 zeroes more] ... 0000 0000

因此,基本上,我在0前面增加了一个64-bits,现在Python认为它是一个positive int

这是否意味着现在我正在使用65-bits正数并且确实适合Python的64-bits word,或者我只是将数字转换为它的无符号表示,所以它只是适合Python 64-bits的正64-bits word数字?

iCMS 回答:负向正整数转换,适合64位Python的单词

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2272776.html

大家都在问