Gast
#932486
Mahlzeit. Ich möchte die Differenz zweier signed int bilden und anschließend den Betrag. Wie kann ich das mit hinsicht auf die Bereichsgrenzen am besten erledigen?
|
Anzeige
|
Differenz zweier signed Zahlen bilden
Gast
#932486
Mahlzeit. Ich möchte die Differenz zweier signed int bilden und anschließend den Betrag. Wie kann ich das mit hinsicht auf die Bereichsgrenzen am besten erledigen?
?
Gast
#932567
signed int also int16 ....
Gast
#932630
?
Gast
#932676
OK Danke soweit nun noch die Frage was passiert, wenn a = -32000 und b = 32000 ist?
Gast
#932827
Mit Standard-libc Mitteln:
hth. Jörg PS.: zumindest beim GCC sind "abs" und "labs" builtin-functions, die können sehr gut optimiert (ge-inline-t, etc.) werden. Jörg X. wrote: > PS.: zumindest beim GCC sind "abs" und "labs" builtin-functions, die > können sehr gut optimiert (ge-inline-t, etc.) werden. Wie geht das nochmal? Die Lösung von Ernst Bachmann ist die einzig richtige (int8 durch int16 ersetzt). Vorher abziehen ist falsch! Und erst nach long wandeln erzeugt nur unnötigen Overhead (auf 8- und 16-bitter). Peter Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|