Предположим, у нас есть 64-bits
отрицательное число int
в Python.
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 s 64-bits word
, или я просто преобразовал число в его беззнаковое представление, так что это просто положительное число 64-bits
, которое вписывается в Python 64-bits word
?