Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python을 사용하여 16비트 신호에서 2의 보수를 수행하는 방법은 무엇입니까?

<시간/>

숫자의 처음 16비트만 반전시키려면 65535(2진수로 16개)를 사용하여 해당 숫자의 xor를 사용할 수 있습니다. 2의 보수를 잊어버리고 결과에 1을 더하면 됩니다. 예를 들어,

a = 3 # 11 in binary
b = (a ^ 65535) + 1
print(bin(b))

출력

이것은 출력을 줄 것입니다:

0b1111111111111101