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]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.