Re: C: Dividieren
Michael Wenger <[email protected]>
| Newsgroups | gmane.linux.suse.programming |
|---|---|
| Message-ID | <[email protected]> |
Hi Volker!
volker wirth schrieb am 01.10.2004 00:14 :
> float z = (1 / 2); printf("%f", z);
>
> und er sagt mir: 0.000000
>
> Bei anderen Zahlen ist es genauso. Das hat mich doch _etwas_
> überrascht.
In welchen Sprachen hast du bis jetzt programmiert? Das ist in allen
sprachen, die ich näher kenne, genauso.
> Danke für die Hilfe, habe wahrscheinlich ein ziemlich groÃes Brett
> vorm Kopf,
Das Literal '1' bezeichnet die Integerzahl 1, '2' ist die Integer 2.
Also berechnest du einen ganzzahligen Bruch, der 0 ergibt. Der Compiler
castet dir freundlicherweise diese Integer-Null dann noch zu einer
float-Null und gibt sie dir aus.
Du wolltest wahrscheinlich dies hier machen:
float z = (1f / 2f); printf("%f", z);
GruÃ,
Michael
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
[email protected]
Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken
Sie eine Mail an: [email protected]