Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

PIC18F 16bitna aritmetika u C-u

[es] :: Elektronika :: Mikrokontroleri :: PIC18F 16bitna aritmetika u C-u

[ Pregleda: 2081 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

maza1
Milan Mazinjanin
Serviser masina za pakovanje hrane,
Petruzalek DOO
Nova Pazova

Član broj: 103996
Poruke: 67
*.adsl.eunet.rs.



+1 Profil

icon PIC18F 16bitna aritmetika u C-u10.06.2009. u 09:18 - pre 151 meseci
Interesuje me kakva je mogucnost rada sa vecim brojevima od 8 bitnih, ako se programira u C-u? Tj. da li se aritmetika lako obavlja direktnim putem?
Ja sam do sada radio nesto malo programiranja u asembleru, ali kada je u pitanju rad sa 16bitnim ciframa oduzme mi mnogo vremena da se sporazumemo.
 
Odgovor na temu

barum
Bojan Radosavljevic

Član broj: 52522
Poruke: 418
92.60.232.*



+1 Profil

icon Re: PIC18F 16bitna aritmetika u C-u10.06.2009. u 21:19 - pre 151 meseci

Pogledaj
http://ww1.microchip.com/downl...eDoc/C18_User_Guide_51288j.pdf
Chapter 2

Kako misliš da li je laka aritmetika direktnim putem? Kada pišeš aritmetičke izraze u programskom jeziku c uvek moraš da paziš kog tipa će biti rezultat i da li će doći do odsecanja pri njegovom smeštanju. Recimo kada sabiraš bajt sa bajtom onda moraš jedan od njih da eksplicitno kastuješ u veći tip kako ne bi došlo do odsecanja rezultata.
 
Odgovor na temu

maza1
Milan Mazinjanin
Serviser masina za pakovanje hrane,
Petruzalek DOO
Nova Pazova

Član broj: 103996
Poruke: 67
*.adsl.eunet.rs.



+1 Profil

icon Re: PIC18F 16bitna aritmetika u C-u11.06.2009. u 07:50 - pre 151 meseci
Hvala za link.
I mislio sam da nisam bio najjasniji.
Jasno mi je da moram da predvidim koliki broj mogu da dobijem i da prema tome rezervisem velicinu.
Konkretno me interesuje: zelim da pomnozim dva broja, od kojih je jedan velicine 8 bita, a drugi 16 bita, ili 16 x 16 bita. Ili da podelim broj sa necim drugim osim 2, 4, 8 i sl. Ovaj PIC koji sam ja ucio da programiram ima hardverski samo 8x8.
I onda sam ja isao po nekim sajtovima i preuzimao asemblerske rutine koje ne razumem, a koje se bave mnozenjem i deljenjem i koristio ih u svome programu. MEdjutim problem ovoga je upravo sto ne razumem ove rutine, i ne mogu da predvidim situacije kada one mozda nece dobro funkcionisati.
Takodje me interesuje da li mogu eksplicitno da se kucaju operacije tipa 317.4+2.78, ili 22.5x3.14 i sl.
PS Sad cu tek da pogledam onaj AN
 
Odgovor na temu

maza1
Milan Mazinjanin
Serviser masina za pakovanje hrane,
Petruzalek DOO
Nova Pazova

Član broj: 103996
Poruke: 67
*.adsl.eunet.rs.



+1 Profil

icon Re: PIC18F 16bitna aritmetika u C-u11.06.2009. u 08:04 - pre 151 meseci
Sada kad sam pogledao ovaj app note, cini mi se da je moguce to sto me je interesovalo, pogotovo kada sam video koliki moze biti unsigned long!
 
Odgovor na temu

barum
Bojan Radosavljevic

Član broj: 52522
Poruke: 418
92.60.232.*



+1 Profil

icon Re: PIC18F 16bitna aritmetika u C-u11.06.2009. u 18:02 - pre 151 meseci
Citat:
maza1: Konkretno me interesuje: zelim da pomnozim dva broja, od kojih je jedan velicine 8 bita, a drugi 16 bita, ili 16 x 16 bita. Ili da podelim broj sa necim drugim osim 2, 4, 8 i sl. Ovaj PIC koji sam ja ucio da programiram ima hardverski samo 8x8.


Operacije za koje nema hardverske podrške bez problema se izvode softverski. Recimo 105 ciklusa treba za:

Code:

    int x = 113;
    int y = 3526;
    int r;
    
    r = y/x;
 
Odgovor na temu

korak
Nis

Član broj: 125522
Poruke: 612
*.dynamic.sbb.rs.



+7 Profil

icon Re: PIC18F 16bitna aritmetika u C-u11.06.2009. u 21:27 - pre 151 meseci
Dobar kompajler navedeni kod prevodi kao:

r = 31;
 
Odgovor na temu

barum
Bojan Radosavljevic

Član broj: 52522
Poruke: 418
92.60.232.*



+1 Profil

icon Re: PIC18F 16bitna aritmetika u C-u11.06.2009. u 21:56 - pre 151 meseci
Dobar programer ne piše trivijalan kod.
 
Odgovor na temu

maza1
Milan Mazinjanin
Serviser masina za pakovanje hrane,
Petruzalek DOO
Nova Pazova

Član broj: 103996
Poruke: 67
*.adsl.eunet.rs.



+1 Profil

icon Re: PIC18F 16bitna aritmetika u C-u12.06.2009. u 07:51 - pre 151 meseci
Barum, zahvaljujem na objasnjenju, upravo to mi je trebalo.
Pretpostavljam da brzina izracunavanja zavisi od kompajlera ,tj broj potrebnih ciklusa.

Citat:
korak: Dobar kompajler navedeni kod prevodi kao:

r = 31;

Korak, nije meni problem da pomnozim ili podelim 2 konstante, vec promenljive u toku procesa.
 
Odgovor na temu

korak
Nis

Član broj: 125522
Poruke: 612
*.dynamic.sbb.rs.



+7 Profil

icon Re: PIC18F 16bitna aritmetika u C-u12.06.2009. u 17:58 - pre 151 meseci
De bre ljudi sto ste toliko osetljivi, valjda je ocigledno sta sam time hteo.

Nema ljutnje, pozdrav.
 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: PIC18F 16bitna aritmetika u C-u

[ Pregleda: 2081 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.