Мой вопрос: все целые числа (положительные и отрицательные) хранятся в виде дополнения до двух или только отрицательные числа в дополнении до двух?< /p>
Я вижу, что в спецификации указано число, дополняющее два бита x. Но я часто путаюсь.
Например:
Код: Выделить всё
int x = 15; // Stored as binary as is? 00000000 00000000 00000000 00001111?
int y = -22; // Stored as two complemented value? 11111111 11111111 11111111 11101010
Для ясности: x = 15:
Код: Выделить всё
In binary as is: `00000000 00000000 00000000 00001111'
Two's complement: `11111111 11111111 11111111 11110001`
Код: Выделить всё
int x = 15; // 11111111 11111111 11111111 11110001
int y = -22 // 11111111 11111111 11111111 11101010
Изменить
Не уверен, что мой вопрос сбивает с толку. Вынужден изолировать вопрос:
Мой вопрос именно так: положительные числа хранятся в двоичном виде как есть, а отрицательные числа хранятся как дополнение до двух?< /strong>
Некоторые сказали, что все числа хранятся в формате дополнения до двух, а в одном ответе говорится, что только отрицательные числа хранятся в формате дополнения до двух.
Подробнее здесь: https://stackoverflow.com/questions/134 ... el-in-java