Цитата:
Сообщение от igor_kvik
Очень давно заметил (как первый раз стал работать с Лоджиком) то что Вы описываете - САМ(!) Лоджик некоторые дробные числа представляет с отниманием очень малой доли, то есть 2.6 представляет как 2.599999. Это было всегда! Сколько я помню Ваш программный продукт. Может кто-то что-то недоговаривает? Арсений сможет объяснить такие моменты с преобразованием?
|
Моменты объяснены в книжках по программированию и описании самого стандарта IEEE-754.
Если коротко, то в числах с плавающей точностью нет такого понятия, как "круглое число".
Любые числа, которые вы видите, типа 2.6 или 0.1 - это ложь. 32-хбитное число всегда содержит 6 знаков вокруг запятой. Т.е. 0.1 это всегда либо 0.1000(1) или 0.0999(9). До 0.1 его округляют средства отображения на экране.
Лоджик практически не занимается таким округлением, поэтому вы видите правду. 2.59999 - это округление исходного числа 2.599998(9).
И последнее. Это всё никак не связано с проблемой, поднятой в этой теме. Лично моё мнение, что проблема в WAD. Логи это либо подтвердят, либо опровергнут. Но всё говорит за то, что с формулами проблемы какие-то.