Differenz bei signd int

10/01/2010 - 22:41 von Sven Schulz | Report spam
Hallo,



ich habe hier eine Mess-Anwenung bei der bei jeder Messung der mitlaufende
interne Zàhler gespeichert wird.

Für mich ist immer die Differenz zum vorherigen Zàhlerstand wichtig.

Verstrichene_Zeit = vorheriger_Zàhlerstand - jetziger_Zàhlerstand



Für den laufenden Zàhler wird der Datentyp signed integer benutzt. Kann mir
jemand sagen ob meine Differenzenzàhlweise korekt ist?



32740

32760 Diffrenz 20 Zàhler

-32763 Differenz 12 Zàhler ??

-32750 Differenz 13 Zàhler



Mir macht der Vorzeichenwechsel beim signed int Sorgen, ich bin mir nicht
sicher ob ich das richtig verstanden habe. Irgendjemand meinte zu mir etwas
mit Komplementàr bilden, ohne nàher darauf eizugehen.



Danke



Sven
 

Lesen sie die antworten

#1 Claus Reibenstein
10/01/2010 - 23:09 | Warnen spam
Sven Schulz schrieb:

ich habe hier eine Mess-Anwenung bei der bei jeder Messung der mitlaufende
interne Zàhler gespeichert wird.

Für mich ist immer die Differenz zum vorherigen Zàhlerstand wichtig.

Verstrichene_Zeit = vorheriger_Zàhlerstand - jetziger_Zàhlerstand

Für den laufenden Zàhler wird der Datentyp signed integer benutzt. Kann mir
jemand sagen ob meine Differenzenzàhlweise korekt ist?



Warum denn signed int? Warum nicht unsigned int? Bei unsigned ist die
Behandlung des Überlaufs im Standard eindeutig festgelegt, so dass Du
Dich darum nicht weiter zu kümmern brauchst. Bei signed int ist das
Ganze jedoch implementationsabhàngig.

32760 Diffrenz 20 Zàhler

-32763 Differenz 12 Zàhler ??



Genau das ist der kritische Fall.

Gruß. Claus

Ähnliche fragen