![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Студент
Пользователь
Регистрация: 13.11.2009
Сообщений: 65
|
![]()
Здравствуйте,
Необходимо получить целую и дробную часть вещественного числа (из FPU) Подскажите пожалуйста алгоритм для решения этой задачки (лучше всего конечно код) Пока мои идеи вот такие: Получить целую часть я так понимаю можно командой fisttp. А как можно получить дробную часть? у меня идея вроде: 0) выделить целую часть 1) вычесть из вещественного числа целую часть 2) сохранить вещественное число в памяти 3) установить нулевой порядок для этого числа (тут первая трудность, там вроде первый бит вещественного числа это знак +/-) 4) обратно в FPU 5) сохранить целую часть того что получилось как дробную Может можно как то проверять вещественное число в FPU на наличие дробной части? или узнать сколько знаков идет после запятой и до запятой? |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 31.05.2009
Сообщений: 786
|
![]()
http://forum.vingrad.ru/faq/topic-15...%BB%D0%B0.html
В этой теме есть вывод вещественного числа. Сначала выводится целая часть, затем дробная. |
![]() |
![]() |
![]() |
#3 |
Студент
Пользователь
Регистрация: 13.11.2009
Сообщений: 65
|
![]()
alexcoder, не нашел полного ответа на указанной вами странице, если он та есть то процетируйте пожалуйста.
Может есть еще варианты? |
![]() |
![]() |
![]() |
#4 |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
![]() Код:
[ValB] - целая [ValС] - дробная все 80-ти битные. аттач (для masm32):
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 31.05.2009
Сообщений: 786
|
![]()
Вывод вещественного числа
Код:
|
![]() |
![]() |
![]() |
#6 |
Студент
Пользователь
Регистрация: 13.11.2009
Сообщений: 65
|
![]()
Ulex, я об этом думал но, fprem по идее должен дать остаток что то вроде 0.xxxxx
а нужно что бы число было целое. Я точно не знаю, но по логике так ибо как тогда получается что при вычитании получившегося остатка из исходного числа получается целая часть исходного числа? (я буду рад если неправ ![]() P.S. Наверное я недостаточно уточнил задание. 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 |