Главная страница
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.013 c
3-1206562057
Fin
2008-03-26 23:07
2008.09.28
Узнать Значение счётчика


2-1218999520
Lamer666
2008-08-17 22:58
2008.09.28
MD5


2-1219052193
dmitry_12_08_74
2008-08-18 13:36
2008.09.28
Как в активном TSaveDialog поменять свойство FileName?


15-1217688672
Line
2008-08-02 18:51
2008.09.28
Компьютер загружается минут 15. Что делать?


2-1218799140
Nell
2008-08-15 15:19
2008.09.28
Уменьшить JPEG