Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];

Вниз

Использование типа Extended   Найти похожие ветки 

 
Zoom82   (2004-05-06 15:45) [0]

Доброго времени суток!

Вопрос связан с испольованием типа extended и его корректным отображением, необходимо вывести результат слудещего выражения:
1-(1,5E-19), т.е. вычесть из единицы число с 19 нулями после запятой.
Я пытался использовать вывод через FloatToStrF(1-(1,5E-19),ffExponent,18,2), но в результате выдаётся единица, хотя должно получиться число близкое к единице, но всё же не единица!

Если кто знает решение, буду признателен за помощь.


 
div ©   (2004-05-06 16:51) [1]

в типе extended значащих разрядов 19-20. а у тебя 19 нулей только после запятой. фактически ты из единицы вычитаешь ноль (так процессор понимает твое число).


 
WebErr ©   (2004-05-06 17:02) [2]

1) 1,5e-19 - здесь будет 18 нулей после запятой!
2) По умолчанию не Extended, а Real = Double, если не указано обратное (что Real=Real48).
3) Попробуйте сначала привести 1,5e-19 к типу Extended, а потом уже работать с этим числом, если Вам нужен именно Extended. Т.е. 1 - Extended(1,5e-19)


 
div ©   (2004-05-06 17:04) [3]

2 WebErr ©
даже если и 18 - это ничего не меняет... его значащие цифры ЗА пределами...


 
WebErr ©   (2004-05-06 17:08) [4]

Попробуйте:

a:=0.9;
b:=0.8;
c:=0.1;
d:=1e36;
t:=(a-b-c)*d;
writeln(t);

В консольно приложении либо writeln в файл.
:)
Предел - математическое понятие, и он как известно не достижим! ;)


 
Григорьев Антон   (2004-05-06 17:50) [5]

Вы наткнулись на то, что называется машинным эпсилон. Подробности в этой статье: http://www.delphikingdom.com/helloworld/reals.htm


 
Zoom82   (2004-05-06 20:56) [6]

Огромное спасибо всем за ответы!

Я нашёл такой выход - посчитать это число в стандартном виндовском калькуляторе. :)



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

Форум: "Основная";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.042 c
14-1083837700
syte_ser78
2004-05-06 14:01
2004.05.23
Исходник текстового окна со скротол


3-1083324948
}|{yk
2004-04-30 15:35
2004.05.23
Поддержка типа BIGINT в библиотеках доступа к Firebird


7-1082015905
Ozone
2004-04-15 11:58
2004.05.23
И снова Web-камера


14-1083436789
RealRascal
2004-05-01 22:39
2004.05.23
Ярлыком выключить монитор


3-1082959862
wild_arg
2004-04-26 10:11
2004.05.23
Параметры в хп.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский