2147483648 и 2147483647, какое наибольшее значение целого числа? - PullRequest
2 голосов
/ 07 мая 2020

Когда я прочитал Java 13 spe c, я увидел 2 следующих вещи:

  1. Самый большой десятичный литерал типа int - 2147483648 (2 ^ 31).
  2. Наибольшие положительные шестнадцатеричные, восьмеричные и двоичные литералы типа int - каждый из которых представляет десятичное значение 2147483647 (2 ^ 31-1) - соответственно

Я не совсем понимаю, что такое буквально. Но:

Для меня, я думаю, когда мы упоминаем о «самом большом десятичном литерале типа int», мы просто сосредотачиваемся на том, что может показать тип int, это означает, что с точки зрения лексический / словарь, самая большая доступная последовательность цифр - 2 ^ 31.

Это также означает, что, независимо от отрицательного или положительного целого семантически, мы не можем записать любую последовательность цифр, превышающую 2 ^ 31 (например, 2 ^ 31 + 1) .

Хотя «буквальный» может иметь много значений, в данном случае я думаю, что это просто относится к лексическим терминам.

Итак, мое объяснение верно или неверно? Кто-нибудь может мне помочь, пожалуйста.

Спасибо

...