PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : vergleich mit int und float in C



d00m
20-10-2003, 18:39
moin alle

ein direkter vergelich zwischen float und int ist wohl nicht möglich ?

zb:

#include<stdio.h>

void main(void)
{
int a=10;
float b=10.7;

if(a<b)
{
printf("hallo, a ist kleiner als b\n");
}
else
{
printf("tio b ist groeßer als a\n);
}

Lin728
20-10-2003, 18:48
Naja, hab schon ziemlich lange nimma mit C gearbeitet, also kann ich nicht garantieren, dass as auch geht und sehr schnell wird es auch nicht sein.

if(a<((int) b))

d00m
20-10-2003, 18:52
danke danke danke ;)

anda_skoa
20-10-2003, 19:18
Da wäre es eher zielführend, den int Wert auf float zu casten, denn dann zählen auch die Stellen hinter dem Komma.

Ciao,
_

Lin728
20-10-2003, 19:21
a des is woa!

wraith
20-10-2003, 19:32
Original geschrieben von anda_skoa
Da wäre es eher zielführend, den int Wert auf float zu casten, denn dann zählen auch die Stellen hinter dem Komma.

Das ist unnötig.Es gibt keinen Vergleichsoperator,der float und int vergleichen kann,ergo muß der int implizit in float konvertiert werden.

peschmae
21-10-2003, 08:28
aber der original-poster hat doch gesagt, dass genau das (implizites Casten) nicht geht :eek:

also hat anda_skoa schon recht

MfG Peschmä

anda_skoa
21-10-2003, 09:06
Original geschrieben von peschmae
aber der original-poster hat doch gesagt, dass genau das (implizites Casten) nicht geht :eek:

Ich denke es handelte sich da mehr um eine Annahme.
wraith hat schon recht, da es keinen Operator für int < float gibt, wird der Compiler implizit einen Cast von int -> float machen.



also hat anda_skoa schon recht

:)
Nur insofern, dass es bei einem expliziten Cast zielführender ist, den int nach float zu casten als umgekehrt.

Ciao,
_

peschmae
21-10-2003, 09:33
ich hab eigentlich schon erwartet, dass er das ausprobiert hätte...

MfG Peschmä