Kezdőoldal » Számítástechnika » Programozás » Típuskonverzió. Hogyan tudok...

Típuskonverzió. Hogyan tudok sima C-ben átalakítani egy típust egy másikká?

Figyelt kérdés

Szóval az a lényeg, hogy van két int típusú változóm. Az egyiket el akarom osztani a másikkal, és azt akarom, hogy így az egyik értéke ez a hányados legyen, de ennek már így double-nek kell lennie.

Pl:

int a;

int b;

a/=b;


Úgy gondolom, hogy az a-t ilyen esetben, előbb át kell alakítani double-é. Hogy tudom megcsinálni?


2010. ápr. 17. 18:21
 1/2 anonim ***** válasza:
Szerintem használj eleve double-t, akkor is, ha egésszel számolsz.
2010. ápr. 17. 19:41
Hasznos számodra ez a válasz?
 2/2 anonim ***** válasza:

int a;

int b;

double result;

[...]

result = (double)a / (double)b;


Ha két egész számot osztasz el, akkor egész osztás történik aminek következtében a tört rész elvész. Ha ezt el szeretnénk kerülni legalább az egyik (vagy mindkét) tagot valamilyen lebegőpontos típusra kell konvertálni (kasztolni).

(Ha csak az egyik tagot konvertáljuk explicit módon(kézzel) lebegőpontossá, akkor osztáskor implicit (amutomatikus)konvertálás fog bekövetkezni, tehát ekvivalens azzal mintha explicit konvertáltunk volna mindkét tagot.)

2010. ápr. 18. 15:28
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!