Главная страница
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
11-1193864481
Ask_For_Help
2007-11-01 00:01
2008.09.28
Пристыковка к краям экрана


15-1217973694
Tricky
2008-08-06 02:01
2008.09.28
Delphi 7 и XP x64


2-1219263165
Stan
2008-08-21 00:12
2008.09.28
Для чего в interface указывать GUID?


3-1206704399
ASgard
2008-03-28 14:39
2008.09.28
Программно изменить настройки SQL Server 2005


2-1219159527
snake-as
2008-08-19 19:25
2008.09.28
TWeb-Browser и работа в интернет