Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.09.28;
Скачать: CL | DM;

Вниз

Ошибка компиллятора?   Найти похожие ветки 

 
Renegat ©   (2008-08-18 23:56) [40]

2 AlexDan:
Как известно, любые числа, будь то целые или дробные, хранятся в компе в виде последовательностей битов, т.е. разрядов двоичной системы счисления. Так вот, судя по Вашей анкете Вы должны быть наслышаны о переводе чисел одной системы счисления в другую. Так вот, чтобы зашифровать дробное десятичное число, его нужно представить дробным двоичным.
Попробуем это сделать с 0.4 - и с удивлением обнаружим, что 4/10 = 2/5.
Такая (пятеричная) дробь по определению не может быть представлена в виде конечной двоичной - только как периодическая!
Так вот, к чему я клоню.
Существуют разные форматы представления не-целых чисел: REAL4(Single), REAL8(Double) и REAL10(Extended). И у каждого из этих типов мантисса имеет разную длину. И в итоге, когда получилость, скажем, двоичная дробь 0.(1101) то в разных типах она будет выглядеть (условно) как
Single:   0.1101
Double:   0.11011101
Extended:0.110111011101

Вещественные константы, если меня память не подводит, хранятся в Паскале как Extended. А тип вашей переменной, скорее всего, Single или Double.

[+]: Более того, не стоит сбрасывать со счетов и погрешности округления при вычислениях! В результате них даже сравнение равных по размеру типов обернётся дохлым номером...
В итоге получаем правило, которое стотыщ раз уже твердили миру (только ему всё ещё упрямо не хотят доверять):
Никогда не проводите точное сравнение вещественных!!!

ЗЫ: +1 к Сергею.


 
Amoeba ©   (2008-08-19 00:41) [41]


> Renegat ©   (18.08.08 23:56) [40]

А стоит ли метать бисер?


 
Германн ©   (2008-08-19 01:01) [42]


> Юрий Зотов ©   (18.08.08 23:10) [28]
>
> Серег, совет - не трать время.

+1
Сей автор уже давно тут известен как троешник не желающий учиться. И в этом посте он это подтвердил ещё раз.



Страницы: 1 2 вся ветка

Текущий архив: 2008.09.28;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.021 c
15-1218179922
Псалтырь
2008-08-08 11:18
2008.09.28
overload для одного только метода


15-1217441494
Alex_PAG
2008-07-30 22:11
2008.09.28
Удаленный рабочий стол и эмуляция клавиш


15-1218030841
Vlad Oshin
2008-08-06 17:54
2008.09.28
BDS 2006 при выгрузке остается в задачах...


15-1217762839
Тын-Дын
2008-08-03 15:27
2008.09.28
Проблемы с разрешением имён.


2-1218725736
BioStaR
2008-08-14 18:55
2008.09.28
Вырезание из строки