www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Težave z deljenjem v C18

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
trully1
Član
Član



Pridružen-a: Pet 14 Nov 2003 20:20
Prispevkov: 216
Aktiv.: 0.91
Kraj: Železniki

PrispevekObjavljeno: Pon Dec 29, 2008 1:17 am    Naslov sporočila:  Težave z deljenjem v C18 Odgovori s citatom

Zdravo

Imam težavo z deljenjem v C18.
Kako pri deljenju dveh nepredznačenih 16 bitnih števil dobiš rezultat v obliki: xxx.yyyy in ne pa v obliki celi del+ostanek.

LP Matjaž
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Sokrat
Član
Član



Pridružen-a: Čet 25 Avg 2005 11:00
Prispevkov: 5584
Aktiv.: 23.56

PrispevekObjavljeno: Pon Dec 29, 2008 1:49 am    Naslov sporočila:   Odgovori s citatom

Tako, da uporabis stevilski tip s plavajoco vejico (npr. float) ...
_________________
Ka ti bo pa torba ce si kupu kolo ?
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
trully1
Član
Član



Pridružen-a: Pet 14 Nov 2003 20:20
Prispevkov: 216
Aktiv.: 0.91
Kraj: Železniki

PrispevekObjavljeno: Pon Dec 29, 2008 9:37 am    Naslov sporočila:   Odgovori s citatom

Tako sem naredil, pa da rezultat brez decimalk, izračuna samo celi del.
Imam pa spremenljivki tipa "unsigned int".
Ali morata biti tudi sprejemlivki tipa float??
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
chaos
Član
Član



Pridružen-a: Sob 16 Sep 2006 22:12
Prispevkov: 1063
Aktiv.: 4.66
Kraj: Zagorje ob Savi

PrispevekObjavljeno: Pon Dec 29, 2008 10:49 am    Naslov sporočila:   Odgovori s citatom

Spremenljivka, kamor boš shranil vrednost, mora seveda biti tipa float, za ostali dve pa to ni potrebno, je pa potreben (vsaj) en typecast:

Koda:

unsigned int a, b;
float c;

c = (float)a/b;


LP!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
matjazkariz
Član
Član



Pridružen-a: Sre 03 Nov 2004 18:09
Prispevkov: 1026
Aktiv.: 4.33

PrispevekObjavljeno: Tor Jan 06, 2009 2:03 pm    Naslov sporočila:   Odgovori s citatom

chaos je napisal/a:
Spremenljivka, kamor boš shranil vrednost, mora seveda biti tipa float, za ostali dve pa to ni potrebno, je pa potreben (vsaj) en typecast:

Koda:

unsigned int a, b;
float c;

c = (float)a/b;


LP!


Točno tako! Spremenljivke "kastaš". To je uporabno v mnogih primerih, npr pri serijski komunikaciji, kjer pošiljaš byte in moraš večje spremenljivke razbiti:

Koda:
unsigned char BYTE [4];
unsigned long A = 0x11223344;

//vstaviš v TX buffer tako:
BYTE[0] = (unsigned char)(A>>24); //po izvedbi ima vrednost 0x11
BYTE[1] = (unsigned char)(A>>16); //po izvedbi ima vrednost 0x22
BYTE[2] = (unsigned char)(A>>8); //po izvedbi ima vrednost 0x33
BYTE[3] = (unsigned char)(A); //po izvedbi ima vrednost 0x44


_________________
LP, Matjaž
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 495 dni


Powered by phpBB © 2001, 2005 phpBB Group