-2

Can someone explain to me why:

print(~60) == -61?

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

jonrsharpe
  • 107,083
  • 22
  • 201
  • 376
jxie0755
  • 1,582
  • 1
  • 12
  • 28

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
  • 57,599
  • 16
  • 82
  • 120