Я пробовал следующее:
Код: Выделить всё
print('{:b}'.format(~ 0b0101))
print(~ 0b0101)
Код: Выделить всё
-110
-6
Побитовое отрицание 0101 дает 1010. Если в старшем бите 1, Python интерпретирует его как отрицательное число в форме дополнения до 2, и для получения соответствующего десятичного числа дополнительно требуется дополнение до 2 от 1010 следующим образом:
Код: Выделить всё
1010
0101 (negating)
0110 (adding 1 to get final value)
Прав ли я в этой интерпретации ?
Подробнее здесь: https://stackoverflow.com/questions/722 ... -in-python
Мобильная версия