Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để bổ sung twos trên tín hiệu 16 bit bằng Python?

Nếu bạn chỉ muốn nhận được sự nghịch đảo của chỉ 16 bit đầu tiên của một số, bạn có thể lấy xor của số đó với 65535 (16 1s trong nhị phân). Bỏ qua phần bổ sung 2s, chỉ cần thêm một phần vào kết quả. Ví dụ,

Ví dụ

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

Đầu ra

Điều này sẽ cho kết quả:

0b1111111111111101