|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.07.2011, 02:09 | #1 |
Студент
Пользователь
Регистрация: 13.11.2009
Сообщений: 65
|
Разбить число вещественного расширенного формата на целую и дробную часть
Здравствуйте,
Необходимо получить целую и дробную часть вещественного числа (из FPU) Подскажите пожалуйста алгоритм для решения этой задачки (лучше всего конечно код) Пока мои идеи вот такие: Получить целую часть я так понимаю можно командой fisttp. А как можно получить дробную часть? у меня идея вроде: 0) выделить целую часть 1) вычесть из вещественного числа целую часть 2) сохранить вещественное число в памяти 3) установить нулевой порядок для этого числа (тут первая трудность, там вроде первый бит вещественного числа это знак +/-) 4) обратно в FPU 5) сохранить целую часть того что получилось как дробную Может можно как то проверять вещественное число в FPU на наличие дробной части? или узнать сколько знаков идет после запятой и до запятой? |
14.07.2011, 09:52 | #2 |
Форумчанин
Регистрация: 31.05.2009
Сообщений: 786
|
http://forum.vingrad.ru/faq/topic-15...%BB%D0%B0.html
В этой теме есть вывод вещественного числа. Сначала выводится целая часть, затем дробная. |
14.07.2011, 13:32 | #3 |
Студент
Пользователь
Регистрация: 13.11.2009
Сообщений: 65
|
alexcoder, не нашел полного ответа на указанной вами странице, если он та есть то процетируйте пожалуйста.
Может есть еще варианты? |
15.07.2011, 06:14 | #4 |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
Код:
[ValB] - целая [ValС] - дробная все 80-ти битные. аттач (для masm32):
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru |
15.07.2011, 10:12 | #5 |
Форумчанин
Регистрация: 31.05.2009
Сообщений: 786
|
Вывод вещественного числа
Код:
|
16.07.2011, 01:29 | #6 |
Студент
Пользователь
Регистрация: 13.11.2009
Сообщений: 65
|
Ulex, я об этом думал но, fprem по идее должен дать остаток что то вроде 0.xxxxx
а нужно что бы число было целое. Я точно не знаю, но по логике так ибо как тогда получается что при вычитании получившегося остатка из исходного числа получается целая часть исходного числа? (я буду рад если неправ ). P.S. Наверное я недостаточно уточнил задание. alexcoder, да я видел этот код но мне изначально требовалось не совсем это мне нужно бвыло в результате получить что то вроде того что предложил Ulex, но в принципе предложенный вами вариант мне пригодится. А вообще дело в том, что я пишу программу для колибри ос и есть системная функция для вывода числа в трех системах счисления на экран, но выводить в виде десятичной дроби шестнадцатеричное число у меня планов нет , так что мне будет достаточно получения целой части из выводимого числа. А в десятичной системе счисления буду использовать код предложенный alexcoder'ом. Так что всем спасибо, проблема вроде бы решена. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Убрать дробную часть | prod87 | Общие вопросы Delphi | 6 | 15.06.2010 06:57 |
Как разбить число на цифрыКак разбить число на цифры: 3241 => 3,2,4,1 (Pascal) | Banderas123 | Помощь студентам | 3 | 07.12.2009 18:26 |
как отбросить целую часть оставив дробную | Alex26RusLink | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 24.10.2009 11:36 |
вывести на печать целую часть от деления | Alex61 | Помощь студентам | 1 | 10.06.2009 11:33 |
Как выделить целую часть из числа? | Slash | Общие вопросы Delphi | 3 | 11.05.2007 00:53 |