Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hallo Roman, > > > ==> auslastung = 250 * (300 / (600 * 9)); > > Da Problem liegt hier und nicht an Bytevariablen. > Die Berechnung erfolgt bei der CC2 standardmäßig <u>immer</u> als Integer. > Außer es ist ein größerer Variabel-Typ an der Berechnung beteiligt (long/float). > > Das Problem ist, daß der Term > 250 * (300 / (600 * 9)) > so nicht funzt ! > Als Faustregel gilt: Erst Multiplizieren und dann erst dividieren. > Was hier passiert ist folgendes: > 1. 600*9 = 5400 > 2. 300/5400 = 0 ! > 3. 250*0 = 0 ! > > Damit diese Berechnug funzt, muß sie folgendermaßen aussehen: > > (250 * 300) / (600 * 9) > 1. 250 * 300 = 75000 > 600 * 9 = 5400 > 2. 75000 / 5400 = 13 // Nachmkommastellen abgeschnitten > > Aber hier gibt es das Problem, daß 75000 nicht mehr im Integerbereich liegt > und hier schon long verwendet werden muß. > Oder man kürzt vorher. :-) > > Mit long: > long wert; > ... > auslastung = (250 * wert) / (wertmax * konst); > > Oder gekürzt mit Integer: > auslastung = (50 * wert) / ((wertmax / 5) * konst); > > > MfG André H.