Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Как се дели с PIC до първият знак след запетаята
http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=3040
Страница 1 от 1

Автор:  me40 [ Пон Окт 09, 2006 10:28 pm ]
Заглавие:  Как се дели с PIC до първият знак след запетаята

Искам да разделя две числа ( примерно 16 на 8 битово), но да получа резултат с запетя.
Или с други думи по-голяма точност !!!!

Автор:  Syrius-B [ Пон Окт 09, 2006 11:36 pm ]
Заглавие: 

Зависи колко знака искаш след запетаята

Автор:  me40 [ Пон Окт 09, 2006 11:46 pm ]
Заглавие: 

Ами само един. Примерно десетично 17 000 : 270 да получа 62.9

Автор:  Syrius-B [ Пон Окт 09, 2006 11:53 pm ]
Заглавие: 

Простото решение е, умножи делимото по 10
После раздели (целочислено) на делителя.
След BCD преобразуване, в младшия десетичен разряд ще имаш десетите

Автор:  VSU [ Пон Окт 09, 2006 11:54 pm ]
Заглавие: 

Ако ти позволява разредноста умножи делимото по 10 и тогава дели после си вземи резултата последното 4исло ти е след запетаката

Автор:  Syrius-B [ Вто Окт 10, 2006 12:01 am ]
Заглавие: 

Има и сложно решение.
Качи си от страницата на майкрочип пакета с плаваща запетая, и ще имаш произволна точност, с произволни числа.
Но работи отчайващо бавно
И гълта доста ресурс.
Ще ти трябва по-як процесор :D

Автор:  me40 [ Вто Окт 10, 2006 12:03 am ]
Заглавие: 

Благодаря ! Значи трябва да премина през 24 бит число. Тази точност за момента ме удовлетворява (до 1-ви знак след зап.). А точност до 8 -ми знак например, пак ли по този начин се прави или има други тънкости?

п.с. невидях предният пост

Автор:  VSU [ Вто Окт 10, 2006 12:59 am ]
Заглавие: 

:) Чак пък много ресурс и отчайващо бавно еееееее понамали малко де :)

Автор:  Syrius-B [ Вто Окт 10, 2006 1:02 am ]
Заглавие: 

Ако пишеш на асемблер, и внимаваш - е поносимо, но я се опитай да го направиш на С.
Един прост полином от 4 -5 степен те забива безвъзвратно във времето

Автор:  [ Вто Окт 10, 2006 1:24 am ]
Заглавие: 

Syrius-B написа:
Ако пишеш на асемблер, и внимаваш - е поносимо, но я се опитай да го направиш на С.
Един прост полином от 4 -5 степен те забива безвъзвратно във времето

Донякъде е вярно, но зависи от използвания PIC. При 18-та серия е доста по-добре, а при 24-та серия изглежда много добре. Според мен използваният език за програмиране не е толкова определящ за скоростта на изпъление при умножение и деление, CCS C постига времена, съизмерими с асемблера.

Автор:  me40 [ Вто Окт 10, 2006 8:03 am ]
Заглавие: 

Пиша на асм. защото съм го учил един семестър преди 7 год. :( и чак сега се сетих да го използвам. :!: Бая зор ама така е - роден научен няма.
А за С чета тука, че било по-лесно писането (по-бързо) .Трябва да си купя някоя книжка , :P щото само съм го чувал.

Автор:  bateAz [ Вто Окт 10, 2006 9:01 am ]
Заглавие: 

Раздели 16 / 8 и ще получиш цялата част. Намери остатъка от делението и го умножи * 10. след това раздели на делителя и ще получиш десетите. По-бързо е, отколкото делене 24 / 8

Автор:  me40 [ Сря Окт 11, 2006 11:29 pm ]
Заглавие: 

Благодаря за идеите - реализирах ги !

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/