Двоичное представление отрицательного целого числа в Java
Пожалуйста, помогите мне понять двоичное представление отрицательных целых чисел.
Например, у нас есть 5. Двоичное представление 500000000.00000000.00000000.00000101
.
И, как я понимаю, двоичное представление -5 должно быть как10000000.00000000.00000000.00000101
.
Но вывод11111111.11111111.11111111.11111011
.
У меня 2 вопроса:
1) Почему здесь так много1
биты.
2) Что я действительно не могу понять, это последние 3 бита011
, Это выглядит как3
, Даже +1 или -1 это будет100
или же010
Спасибо