Hallo Leute, ich habe eine absolute Anfängerfrage. Trotz google habe ich keine sichere Antwort gefunden. Ich habe folgende Bitfolge : 1111111111000011 und will die in eine Dezimalzahl umrechnen. Wäre ja soweit kein Problem. Nur diese Zahl ist Vorzeichenbehaftet. Also ist die gegebene Zahlenfolge negativ. Und den Sprung wie es da weiter geht schaffe ich nciht. Kann mir bitte jemand helfen? Gruß Andre
Mit GNU-C und einem 16-Bit int:
1 | int x = (int) 0b1111111111000011; |
Und die Zahl dann einfach ausgeben unwandeln, rechnen damit, was auch immer.
Andre schrieb: > Hallo Leute, > > ich habe eine absolute Anfängerfrage. Trotz google habe ich keine > sichere Antwort gefunden. > > Ich habe folgende Bitfolge : 1111111111000011 und will die in eine > Dezimalzahl umrechnen. Wäre ja soweit kein Problem. > Nur diese Zahl ist Vorzeichenbehaftet. Also ist die gegebene Zahlenfolge > negativ. Und den Sprung wie es da weiter geht schaffe ich nciht. Kann > mir bitte jemand helfen? 2-er Komplement anwenden * alle Bits umdrehen * noch 1 dazuzählen -> und du hast die positive Zahl, die der negativen entspricht. 1111111111000011 umdrehen 0000000000111100 +1 0000000000111101 -> das ist das Bitmuster für 61, also war dein ursprüngliches Bitmuster das Muster für -61 Aber: Wozu der Aufwand? platziere die Bits in eine 16 Bit signed Variable und du hast deine Zahl fix fertig.
Sinn ist das ich diese Sache ein für alle mal richtig verstehe und das mal händig nachrechen will. Also habe ich 1111111111000011 umgedreht 111100. Entspricht 60 dezimal. Also ist die Lösung -61?
Andre schrieb: > Sinn ist das ich diese Sache ein für alle mal richtig verstehe und das > mal händig nachrechen will. > > Also habe ich 1111111111000011 umgedreht 111100. Entspricht 60 dezimal. > Also ist die Lösung -61? Genau
Hallo zum reinen "Verstehen" das hier lesen http://de.wikipedia.org/wiki/Zweierkomplement Gruss Stefan
Die Stellenwertigkeit der n-ten Stelle ist 2^n, nur die oberste Stelle hat die Wertigkeit -2^n.
Du müßtest dafür aber auch wissen in welchem Format die Zahl dargestellt ist. Das Zweierkomplement ist zwar ein sehr häufiges Verfahren aber es gibt auch andere Darstellungsweisen. Die Bitfolge kann also je nach Format eine ganz anderen Wert ergeben.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.