Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Java складывание чисел

ввц цвцв Ученик (100), на голосовании 3 года назад
Почему все числа до 1024 при подобном сложении выдают true. После 1024 - false. Правда очень большие не проверял.
Голосование за лучший ответ
Elepsis Eclipse Оракул (64086) 3 года назад
Немного пощупал, начиная с 1025 вместо `6` перед E появляется 8.
Нужно перевести 9223372036854775807 и 1024 в двоичную систему, суммировать их "на листочке" и посмотреть что происходит) Что я конечно же не сделал!)
Голова Робота Просветленный (36328) 3 года назад
Не хватает точности чисел double. Максимальная длина числа long - примерно 19 десятичных цифр. Максимальная точность чисел double - примерно 16 десятичных цифр. Поэтому если Long.MAX_VALUE перевести в double, такое число "не заметит" увеличение на 1 или другое небольшое число.
ввц цвцвУченик (100) 3 года назад
странно, что именно до 1024, а не скажем 100 или 1000.
Голова Робота Просветленный (36328) ввц цвцв, это нормально. Компьютер хранит числа в двоичной системе счисления. 1024 - это круглое число в двоичной системе, а 100 и 1000 не круглые.
Похожие вопросы