Отговори на тема  [ 13 мнения ] 
Как се дели с PIC до първият знак след запетаята 
Автор Съобщение
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Пет Авг 25, 2006 11:31 pm
Мнения: 168
Местоположение: Русе
Мнение Как се дели с PIC до първият знак след запетаята
Искам да разделя две числа ( примерно 16 на 8 битово), но да получа резултат с запетя.
Или с други думи по-голяма точност !!!!


Пон Окт 09, 2006 10:28 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Яну 30, 2006 2:48 am
Мнения: 1248
Местоположение: София
Мнение 
Зависи колко знака искаш след запетаята


Пон Окт 09, 2006 11:36 pm
Профил WWW
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Пет Авг 25, 2006 11:31 pm
Мнения: 168
Местоположение: Русе
Мнение 
Ами само един. Примерно десетично 17 000 : 270 да получа 62.9


Пон Окт 09, 2006 11:46 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Яну 30, 2006 2:48 am
Мнения: 1248
Местоположение: София
Мнение 
Простото решение е, умножи делимото по 10
После раздели (целочислено) на делителя.
След BCD преобразуване, в младшия десетичен разряд ще имаш десетите


Пон Окт 09, 2006 11:53 pm
Профил WWW
Ранг: Напреднал
Ранг: Напреднал

Регистриран на: Нед Авг 14, 2005 1:08 pm
Мнения: 433
Местоположение: Казанлък
Мнение 
Ако ти позволява разредноста умножи делимото по 10 и тогава дели после си вземи резултата последното 4исло ти е след запетаката


Пон Окт 09, 2006 11:54 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Яну 30, 2006 2:48 am
Мнения: 1248
Местоположение: София
Мнение 
Има и сложно решение.
Качи си от страницата на майкрочип пакета с плаваща запетая, и ще имаш произволна точност, с произволни числа.
Но работи отчайващо бавно
И гълта доста ресурс.
Ще ти трябва по-як процесор :D


Вто Окт 10, 2006 12:01 am
Профил WWW
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Пет Авг 25, 2006 11:31 pm
Мнения: 168
Местоположение: Русе
Мнение 
Благодаря ! Значи трябва да премина през 24 бит число. Тази точност за момента ме удовлетворява (до 1-ви знак след зап.). А точност до 8 -ми знак например, пак ли по този начин се прави или има други тънкости?

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


Вто Окт 10, 2006 12:03 am
Профил
Ранг: Напреднал
Ранг: Напреднал

Регистриран на: Нед Авг 14, 2005 1:08 pm
Мнения: 433
Местоположение: Казанлък
Мнение 
:) Чак пък много ресурс и отчайващо бавно еееееее понамали малко де :)


Вто Окт 10, 2006 12:59 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Яну 30, 2006 2:48 am
Мнения: 1248
Местоположение: София
Мнение 
Ако пишеш на асемблер, и внимаваш - е поносимо, но я се опитай да го направиш на С.
Един прост полином от 4 -5 степен те забива безвъзвратно във времето


Вто Окт 10, 2006 1:02 am
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение 
Syrius-B написа:
Ако пишеш на асемблер, и внимаваш - е поносимо, но я се опитай да го направиш на С.
Един прост полином от 4 -5 степен те забива безвъзвратно във времето

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

_________________
Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....


Вто Окт 10, 2006 1:24 am
Профил WWW
Ранг: Новодошъл
Ранг: Новодошъл

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


Вто Окт 10, 2006 8:03 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Сеп 26, 2004 4:11 pm
Мнения: 3750
Местоположение: София
Мнение 
Раздели 16 / 8 и ще получиш цялата част. Намери остатъка от делението и го умножи * 10. след това раздели на делителя и ще получиш десетите. По-бързо е, отколкото делене 24 / 8


Вто Окт 10, 2006 9:01 am
Профил ICQ
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Пет Авг 25, 2006 11:31 pm
Мнения: 168
Местоположение: Русе
Мнение 
Благодаря за идеите - реализирах ги !


Сря Окт 11, 2006 11:29 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 13 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 3 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни