ok... da habe ich wohl meine Verwirrung direkt ins Forum übertragen!
also:
Einerkomplement:
0100 = +4 und 1011 = -4
0111 = +7 und 1000 = -7
0000 = +0 und 1111 = -0
bei einer 1 im höchsten bit erfolgt bei der Umrechnung eine Invertierung aller nachfolgenden bits. Das höchste bit stellt nur das Vorzeichen bzw. die Unterscheidung zur Invertierung oder eben nicht dar.
Zweierkomplement:
0100 = +4 und 1100 = -4
0111 = +7 und 1000 = -8 wobei 1111 = -1 !
0000 = 0 es existiert nur diese eine Darstellung der Null !
Das höchste bit ist negativ zu interpretieren. Alle nachfolgenden bits werden normal ausgewertet. 1100 = -8 +4 = -4
damit dürfte das ganze etwas klarer sein... und hoffentlich richtig.
Was meine Funktion angeht, so liefert diese bei
FFFF = 0 und bei 0000 = 0!
Außerdem wird eine Hexzahl 8AAA = -30037
1000 1010 1010 1010 entspricht nach Einerkomplement
-0111 0101 0101 0101 = -30037
das Problem bei meiner Anwendung ist eher, dass ich erraten musste ob nun Einer- oder Zweierkomplement verwendet wird. Deshalb dann auch die totale Verwirrung irgendwann
inzwischen würde ich recht sicher behaupten, dass das Einerkomplement anzuwenden ist und meine Funktion dafür geeignet sein dürfte.
@HWK das Zweierkomplement kennt nur eine Null
alles Dinge mit denen ich mich lange nicht mehr beschäftigt habe... gibt es denn nun Python eigene Funktionen für diese Thematik? Wahrscheinlich wohl eher nicht...
Danke! Durch eure Antworten habe ich meine Gedanken ein wenig sortieren müssen, was wohl das Wichtigste zur Lösungsfindung war!
Ich hoffe das stimmt nun auch alles was ich hier poste!