Hallo! Ich arbeite mit dem stm32f103vdt6 und dem uVision von Keil.
1 | |
2 | |
wenn ich dies im Watchregister anzeigen lasse, bleibt Ta immer 0 und Tx ergibt 0.005. Wieso? Danke und Gruss! M.B.
|
Anzeige
|
Multiplikation / DivisionHallo! Ich arbeite mit dem stm32f103vdt6 und dem uVision von Keil.
wenn ich dies im Watchregister anzeigen lasse, bleibt Ta immer 0 und Tx ergibt 0.005. Wieso? Danke und Gruss! M.B. M. B. schrieb: > Wieso? Weil das so definiert ist. Standardmäßig wird in int gerechnet, es sei den einer der Operanden ist (wie z.B. dein 0.001) flaot. Der Ergebnistyp hingegen ist erst mal "egal". M. B. schrieb: > Wieso? Weil 5 / 1000 in Ganzzahlarithmetik durchgeführt wird. Damit das herauskommt, was Du erwartest, muss mindestens ein Wert vom Typ float sein. Also meinetwegen 5.0 / 1000 oder (float)5 / 1000 Christian
Gast
#2698220
Typcast googlen! float Ta = (float)5 / 1000; Danke! Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|