Так как я был reading about ~
,Почему ~ 0 - -1?
Выполняет оператор не на каждый бит.
Так что я пробовал:
0 = 00000000000000000000000000000000
so ~0 should be
~0 = 11111111111111111111111111111111
Но когда я попробовал, она возвращает -1
. Разве это не 11111111111111111111111111111111
is 4294967295
в десятичном формате?
Duplicate: http://stackoverflow.com/questions/3141163/why-do-unsigned-int-x-1-and-int-y-0-have-the-same-binary-representation – copy
@copy - Это 'C' не JavaScript. –
Это очень простая вещь, применимая к большинству языков программирования. Прочтите http://en.wikipedia.org/wiki/Two%27s_complement или http://stackoverflow.com/a/3141181/1078067 – copy