AleksandrB
@AleksandrB
Совсем недавно вывел "Hello world"

Почему java не умеет считать?

for (int x = 1; x<=1500000000; x*=10){
            System.out.println(x);
        }

Выводит:
1
10
100
1000
10000
100000
1000000
10000000
100000000
1000000000
1410065408
1215752192
-727379968
1316134912
276447232
-1530494976

Как у него получились минусовые значения и почему?
  • Вопрос задан
  • 313 просмотров
Решения вопроса 1
Decadal
@Decadal
в java тип int вмещает 32 бита. Это от -2147483648 до 2147483647
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Потому, что int кончился.
Ответ написан
Потому что размер int конечный. Хотите бесконечный? Используйте BigInteger. И читайте про дополнительный код и переполнение. Это школьный курс информатики.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы