Re: Berechnung einer Auslastung in Prozent Kategorie: Programmierung (von André H. - 28.04.2003 9:45) | |
Als Antwort auf Berechnung einer Auslastung in Prozent von Roman - 28.04.2003 8:51
| |
Hallo Roman, > ==> auslastung = 250 * (300 / (600 * 9)); Da Problem liegt hier und nicht an Bytevariablen. Die Berechnung erfolgt bei der CC2 standardmä�ig immer 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. Antworten bitte nur ins Forum! Fragen per EMail auf Forum-Postings werden nicht beantwortet! Das macht meine Heizung gerade | |
Antwort schreiben Antworten: Danke! (von Roman - 28.04.2003 11:51) |