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 André > > danke für deine schnelle Antwort: > > > Bei Berechnungen muß man entsprechend aufpassen, da bei der CC2 prinzipiell erstmal > > alles in 16Bit gerechnet wird. > > Es wird erst in 32Bit gerechnet, wenn mind. einer der Beiden Operanden einer Berechnung > > oder Teilberechnung vom 32Bit-Typ ist. > > Ja genau da war das Problem, ich hatte nur die Ergenis Variable als long definiert. > So hat er die Berechung ad*4885 mit int vorgenomme. > <code> > long druck; > int ad; > druck=ad*4885/1000; //berechnung mit 16bit falsches ergebnis > //überlauf > </code> > Jetz habe ich die ad als long definiert und siehe da... > <code> > long druck, ad; > int druckint; > druck=ad*4885/1000; //berechnug mit long, alles ok > druckint=druck; /*jetzt geht auch die Typenumwandlung > bzw. die hat vorher auch > funktioniert nur das Ergebnis > war schon vorher Falsch.*/ > </code> > > Es kann so einfach sein, wenn man weiß wie. > Nochmals besten Dank. > > Gruß Alfred >