Einerkomplement von 11110011?

2 Antworten

das 1er Komplement wird gebildet, indem man jedes Bit einfach umkehrt...

also in 8bit bit-weiser Arithmetik:

1111'0011 <-- Ausgangswert (binär)
0000'1100 <-- zugehöriges 1er-Komplement (binär)

und das ist eben 0C (hexadezimal) oder eben auch 12 (dezimal)...

wie ist denn die genaue Aufgabe?

mit Vorzeichen hat das erstmal nichts zu tun... das geht eigentlich erst mit dem 2er-Komplement los... dann wäre 0000'1100 aber üblicher Weise (+12)... und (-12) wäre (1111'0011+1) also 1111'0100...

Woher ich das weiß:Studium / Ausbildung – Absolvent/Universität
verreisterNutzer  16.01.2024, 11:42

Wandeln Sie folgende Zahlen ins Dezimalsystem um

Einerkomplement:

11110011

Das ist die Aufgabenstellung.

Ich hätte halt erstmal die Dezimalzahl davon gebildet und dann erst umgekehrt. Das wäre ja dann nicht 12.

0
LUKEars  16.01.2024, 11:53
@verreisterNutzer

das 1er-Komplement von 1111'0011 bei 8bit Wortbreite ist 0000'1100... und das ist 12 im Dezimalsystem...

die Aufgabe ist nicht sauber formuliert finde ich...

1
LUKEars  16.01.2024, 22:21
@verreisterNutzer

man könnte denken, dass es bedeuten soll, dass du 1111'0011 als Einer-Komplement bei einer Wortbreite von 8 Bit verstehen sollst... dann wäre es -12

Minus weil das MSB gesetzt ist... und der Betrag ist dann das bit-weise Inverse der restlichen Bits... also 000'1100(binär)=12(dez)

0
11110011 = 131

Die erste 1 entspricht im Einser-Komplement dem Vorzeichen. Es handelt sich hierbei also um eine negative Zahl. (Direkt in binär umwandeln funktioniert aber nur bei positiven Zahlen, daher das falsche Ergebnis 131)

Das heißt indem du die gegebene Zahl umkehrst, erhälts du die positive Zahl. Wenn du die umgekehrte Zahl in binär umrechnet erhälts du 12.

Daher muss man vorher die Repräsentation von -12 gehabt haben.

Es gibt auch andere Verfahren die Zahl auszurechnen, nachzulesen auf Wikipedia

verreisterNutzer  16.01.2024, 11:44

Zusammengefasst:

  • Direkt umwandeln funktioniert nur bei positiven Zahlen
  • Sonst muss muss man erst invertieren und dann in die Dezimalzahl umwandeln
  • Dann weiß man, welche negative Zahl anfangs dargestellt wurde
1