-2

Can someone explain to me why:

print(~60) == -61?

because 60 is 111100 then reverse is 000011 and it should be 3?

jonrsharpe
  • 115,751
  • 26
  • 228
  • 437
jxie0755
  • 1,682
  • 1
  • 16
  • 35

1 Answers1

-1

Even assuming you are using one byte - 60 would be 0011 1100

So ~60 would be 1100 0011

i.e. -128 + 64 + 2 + 1 = =61

Ed Heal
  • 59,252
  • 17
  • 87
  • 127