 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
trully1 Član

Pridružen-a: Pet 14 Nov 2003 20:20 Prispevkov: 216 Aktiv.: 0.91 Kraj: Železniki
|
Objavljeno: Pon Dec 29, 2008 1:17 am Naslov sporočila: Težave z deljenjem v C18 |
|
|
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 |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 23.57
|
Objavljeno: Pon Dec 29, 2008 1:49 am Naslov sporočila: |
|
|
Tako, da uporabis stevilski tip s plavajoco vejico (npr. float) ... _________________ Ka ti bo pa torba ce si kupu kolo ? |
|
Nazaj na vrh |
|
 |
trully1 Član

Pridružen-a: Pet 14 Nov 2003 20:20 Prispevkov: 216 Aktiv.: 0.91 Kraj: Železniki
|
Objavljeno: Pon Dec 29, 2008 9:37 am Naslov sporočila: |
|
|
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 |
|
 |
chaos Član


Pridružen-a: Sob 16 Sep 2006 22:12 Prispevkov: 1063 Aktiv.: 4.66 Kraj: Zagorje ob Savi
|
Objavljeno: Pon Dec 29, 2008 10:49 am Naslov sporočila: |
|
|
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 |
|
 |
matjazkariz Član


Pridružen-a: Sre 03 Nov 2004 18:09 Prispevkov: 1026 Aktiv.: 4.33
|
Objavljeno: Tor Jan 06, 2009 2:03 pm Naslov sporočila: |
|
|
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 |
|
 |
|
|
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
|