Перейти к контенту

Справочник по функциям и классам


Рекомендуемые сообщения

Доброго всем времени суток.

Почему у меня получаются такие результаты:

8388608 + 2.555 - 8388608 = 3 ;

Смахивает на округление. Попробуйте заменить 2.555 на 2.355.

Получится 2?

 

0.123456789 * 1000 / 1000 = 0.1234567835927 ?

Похожие баги я встречал у компиляторов Си, первой половины 80-х, и у SuperCalc-а (был такой предок у Exel).

 

В документации написано, что числа в Луа "с плавающей точкой и двойной точности".

Что сделать что-бы так не было? Почему предел 2^23?

Не понял, что не так? 2^23 не нравится? А почему?

 

Поделиться этим сообщением


Ссылка на сообщение

А вот тут уже я завис, что значит "округление, только вот - не ожидал я его так быстро"?

Поясните, плз.

По идеи, округление "наступает" тогда, когда Вы его вызываете в явном или не явном виде.

 

ЗЫ. Вообще-то мне тоже показалась странным такой формат представления чисел, ведь по идеи

двойная точность раньше была: 1 знаковый бит, 11 бит -экспонента и 52 бита - мантиса, если склероз меня не подводит.

 

Поделиться этим сообщением


Ссылка на сообщение

Не знаю как Луа, но некоторые компиляторы C, допускали когда результат вычисления с плавающей точкой передавался целочисленной переменной, без вызова дополнительных функций преобразования форматов.

При этом, компилятор сам генерировал код, отбрасывающий дробную часть числа, перед присваиванием.

Может и здесь так же?

Поделиться этим сообщением


Ссылка на сообщение

2 Monnoroch

А где я говорил обратное?

Я говорил о том, что преобразование типов данных может быть явным(Паскаль/Делфи), и может быть не явным (в PHP можно значение можно присвоить и вовсе строковой переменной).

 

Что касается double в циклах, если каждый раз происходит изврат с преобразование типов данных, да еще в нестандартный для сопроцессора формат, а потом из него уже в стандартный double, потом инкремент, а потом обратно преобразования!

Не-е-е-е, вряд ли, ну не дебилы же они.

Тут в чем-то другом собака порылась. :)

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
  • Куратор(ы) темы:

×
×
  • Создать...