[an error occurred while processing this directive]
Намного проще будет хранить мантису = 1234567 и порядок = 4 (позиция точки слева) (+)
(«Телесистемы»: Конференция 'Микроконтроллеры и их применение')

миниатюрный аудио-видеорекордер mAVR

Отправлено Pol-SDG 24 марта 2003 г. 12:54
В ответ на: Преобразование числа из формы целая часть/остаток от деления в нормальное дробное число(например 123.4567) отправлено snowman 23 марта 2003 г. 13:43

При таком подходе с числами работаешь как с целыми только обращаешь внимание на порядок:
N1=1.23 M1=123 P1=2
N2=3.1 M2=314 P2=1

N3=N1+N2:
p3=max(p1,p2)=2
m3=m1*10^(p3-p1)+m2*10^(p3-p2)=123*10^(2-2)+31*(2-1)=123+310=433
n3=4.33

N4=N1*N2
p4=p1+p2=3
m4=m1*m2=123*31=3813
n4=3.813

деление и вычитание делаются аналогично
конечно есть нюансы, но в целом все несложно

Вообще-то это называется floating point number format
и на это есть IEEE стандарт (только не спрашивай какой - не знаю)
поищи гуглем - найдешь

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru