![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 | |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]()
Код
Код:
Сообщение следующего содержания: Цитата:
![]() в виде строки построить число. Но это гемор еще тот. Если у кого готовое что есть, может выложите здесь. А мож у кого мысли есть по умнее моих. Тож сюда выкладывайте. Заранее благодарю |
|
![]() |
![]() |
![]() |
#2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
![]()
Sibedir, уточняйте. Вас ист дас "точное значение числа с плавающей точкой"? У вещественных в машинном представлении не может быть точных значений по определению.
|
![]() |
![]() |
![]() |
#4 | ||
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]() Цитата:
а e: Extende = 2.95147905179352826E20 = 0x40438000000000000004 Цитата:
Как раз в машинном представлении любое число ограниченно конечным набором цифр (бит). Или это не так? Но если честно, мне это уже не так важно. Я всетаки решил использовать тип Int64. Мне не понравился способ представления вещественного числа в памяти (см. пост #1). Он многое теряет в точности. Ведь не смотря на то, что есть такое вещественное число как 2.9514790517935282584E20 (аж 19 знаков после запятой), а вот такого числа как 2.951...583E20 уже нет. Тут вообще с точностью полная неразбериха. Не удевительно, что функции представления числа с плавающей точкой как строки не показывают цифры далше чем 17-ая после запятой. Это просто не имело бы смысла. |
||
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 02.09.2007
Сообщений: 1,193
|
![]()
Посмотрите эту статью http://www.delphikingdom.com/asp/vie...?catalogid=374
|
![]() |
![]() |
![]() |
#6 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]()
Спасибо, _Dmitry. Об этом действительно не пиcали в тех книгах, которые я читал. Многое, конечно, и так было понятно, но это уже с высоты нескольких лет программирования. А хотелось бы это знать уже с универа.
В общем, спасибо за пояснение. |
![]() |
![]() |
![]() |
#7 | |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#8 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]()
Да не, B_N, мне милиарды не нужны. Мне хватит и трех знаков после запятой. Для меня главное знать точное значение числа. И такие приколы, как
0.1 = 0x3ffbcccccccccccccccd = 0x3ffbcccccccccccccd00 мне не нужны. А если вам интересно, что это я такое делаю и для чего мне это все нужно, то тут вообщето секретов нет. Я пишу CAD-систему, а тип я выбираю для хранения координат. Кстати, я так понял, что в большенстве CAD-систем координаты хранятся тоже в виде целых чисел, а уже для вывода на экран используется деление на 10^x. Последний раз редактировалось Sibedir; 08.03.2008 в 20:26. |
![]() |
![]() |
![]() |
#9 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
![]()
Вещественные числа в машинном виде тоже хранятся в "целом" виде в любом калькуляторе, что здесь такого? А серьезные инженерные и, тем более, научные системы просто хранят "самодельные", не поддерживаемые центральным проессором, сопроцессором, числа с большей точностью, смотря какая задача. Я почему Вам и советую, найдите какую-нибудь приличную библиотеку для больших чисел да и всё. А точность int64 АБСОЛЮТНО ТАКАЯ ЖЕ, как у типа extended - 64 бита или 20 значащих знаков, только у extended еще и экспонента есть до 4-х с лишним тысяч порядков, которую Вы при такм раскладе будете вынуждены хранить отдельно.
|
![]() |
![]() |
![]() |
#10 | ||
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]() Цитата:
Цитата:
Последний раз редактировалось Sibedir; 09.03.2008 в 19:24. |
||
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как сложить два числа с плавающей точкой | forsy | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 19 | 29.03.2010 02:15 |
Преобразование числа в строку | )Игнат( | Общие вопросы Delphi | 6 | 06.07.2008 09:32 |
Сравнение чисел с плавающей точкой ? | Ulex | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 11 | 12.04.2008 21:14 |
Числа с плавающей точкой | Blondinka | Общие вопросы Delphi | 8 | 21.09.2007 11:32 |