Пердистория Парадокс обнаружился в одном из JS тредов, когда один из анонов вычитая из целого числа 0.1 стал получать неверную с точки зрения последовательность. Вместо списка 0.9, 0.8.. стали возникать другие числа.
Суть парадокса Разные языки дают разные результаты одной операции a) 0.1 + 0.2 = 0.3 b) 0.1 + 0.2 = 0.30000000000000004
Верным принято считать результат истинный с точки зрения математики.
A. Языки, сумевшие избежать или частично решить парадокс C, C++ C# Go Hugs (Haskell) MySQL Pascal PHP Powershell Prolog
B. Языки подверженные парадоксу ActionScript Erlang GHC (Haskell) Java (если не использовать тип double) JS Perl Python (если не использовать обёртку print) Ruby
Предварительные выводы Как видно из списков, они пока не полны (пытаемся дополнить их), они весьма просто делятся на академические (классические) и модные (хипстерские). Хипстерские забивают на математическую точность, как и большинство разработчиков. Оп треда сам видел как представители b-группы в серьёз наставал на том, что программисту не нужна математика. Дескать, программист только набирает текст, а математикой должен заниматься математик.
Языки требующие проверки парадокса 0.1 + 0.2 != 0.3 Basic, в том числе визуальный Dart Delphi (ObjectPascal) Objective-C Swift Vala
>>436252 Вопрос, почему часть языков обрабатывает функцию вычитания верно, а другая забивает на на парадокс, как будто не знает, как считает компьютер?
>>436245 Есть мнение, что разные реализации того же самого JS считают по разному. Поэтому нужно проверить Dart, но к сожалению сейчас нет возможности.
>Dart — язык программирования, созданный Google. Dart позиционируется в качестве замены/альтернативы JavaScript, страдающего от «фундаментальных» изъянов[источник не указан 105 дней], которые невозможно исправить путём эволюционного развития.
Возможно, также был решён парадокс 0.1 + 0.2 != 0.3
Парадокс обнаружился в одном из JS тредов, когда один из анонов вычитая из целого числа 0.1 стал получать неверную с точки зрения последовательность. Вместо списка 0.9, 0.8.. стали возникать другие числа.
Суть парадокса
Разные языки дают разные результаты одной операции
a) 0.1 + 0.2 = 0.3
b) 0.1 + 0.2 = 0.30000000000000004
Верным принято считать результат истинный с точки зрения математики.
A. Языки, сумевшие избежать или частично решить парадокс
C, C++
C#
Go
Hugs (Haskell)
MySQL
Pascal
PHP
Powershell
Prolog
B. Языки подверженные парадоксу
ActionScript
Erlang
GHC (Haskell)
Java (если не использовать тип double)
JS
Perl
Python (если не использовать обёртку print)
Ruby
Предварительные выводы
Как видно из списков, они пока не полны (пытаемся дополнить их), они весьма просто делятся на академические (классические) и модные (хипстерские). Хипстерские забивают на математическую точность, как и большинство разработчиков. Оп треда сам видел как представители b-группы в серьёз наставал на том, что программисту не нужна математика. Дескать, программист только набирает текст, а математикой должен заниматься математик.
Языки требующие проверки парадокса 0.1 + 0.2 != 0.3
Basic, в том числе визуальный
Dart
Delphi (ObjectPascal)
Objective-C
Swift
Vala