Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะทำ twos เสริมบนสัญญาณ 16 บิตโดยใช้ Python ได้อย่างไร


หากคุณต้องการได้ค่าผกผันของตัวเลข 16 บิตแรกเท่านั้น คุณสามารถใช้ xor ของตัวเลขนั้นด้วย 65535(16 1s ในเลขฐานสอง) ลืมการเสริม 2s เพียงเพิ่มหนึ่งในผลลัพธ์ ตัวอย่างเช่น

ตัวอย่าง

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

ผลลัพธ์

สิ่งนี้จะให้ผลลัพธ์:

0b1111111111111101