Главная страница
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.026 c
2-1218725745
atomAltera
2008-08-14 18:55
2008.09.28
Минимизация окна...


2-1219108231
Abcdef123
2008-08-19 05:10
2008.09.28
настройка среды Delphi 2007


15-1217688147
DevilDevil
2008-08-02 18:42
2008.09.28
Колонки: Left <-->Right


3-1206767549
Ary
2008-03-29 08:12
2008.09.28
управление транзакциями


2-1218734987
Dr.Andrew
2008-08-14 21:29
2008.09.28
Как запретить/разрешить ввод от клавиатуры любых символов ?