Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Off topic-Zone Fragestellungen zu allem, was sich nicht in die anderen Foren einordnen lässt.

Wer kann mir das Zweierkomplement erklären?

Diskussion: Wer kann mir das Zweierkomplement erklären? im Forum Off topic-Zone, in der Kategorie Sonstiges; Anzeige Hallo, ich verstehe das Zweierkomplement überhaupt nicht. Kann mir das jemand anschaulich erklären? Beispielsweise habe ich eine Dualzahl 1101. ...

Antwort
Alt 16.07.06, 17:50   #1 (permalink)
 
Registriert seit: 17.03.04
BlackMarvel Leistung: Facit NTK
Likes: 0
Standard Wer kann mir das Zweierkomplement erklären?

Anzeige

Hallo,

ich verstehe das Zweierkomplement überhaupt nicht. Kann mir das jemand anschaulich erklären?

Beispielsweise habe ich eine Dualzahl 1101. Davon soll das Zweierkomplement berechnet werden.... aber wie?

BlackMarvel ist offline   Mit Zitat antworten
Alt 16.07.06, 17:53   #2 (permalink)
Senior Member
 
Registriert seit: 03.09.05
Lesco Leistung: Facit NTK
Likes: 0
Standard

http://de.wikipedia.org/wiki/Zweierkomplement
Lesco ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 16.07.06, 18:02   #3 (permalink)
Themenstarter
 
Registriert seit: 17.03.04
BlackMarvel Leistung: Facit NTK
Likes: 0
Standard

jepp, das kenn ich. aber ich verstehe es nicht recht.. kann mir jemand es mal an meinem Beispiel vorführen...?
BlackMarvel ist offline   Mit Zitat antworten
Alt 16.07.06, 18:12   #4 (permalink)
Senior Member
 
Registriert seit: 03.09.05
Lesco Leistung: Facit NTK
Likes: 0
Standard

Um das Zweierkomplement zu erhalten musst du einfach diese Zahl von 0 abziehen:
0b-1101b = 11110011b
(Vorrausgesetzt, es ist ein 8 Bit-Wert)
Lesco ist offline   Mit Zitat antworten
Alt 16.07.06, 18:14   #5 (permalink)
Themenstarter
 
Registriert seit: 17.03.04
BlackMarvel Leistung: Facit NTK
Likes: 0
Standard

ich verstehe es immernoch nicht... sorry....
BlackMarvel ist offline   Mit Zitat antworten
Alt 16.07.06, 23:09   #6 (permalink)
 
Registriert seit: 16.07.05
benwilliam Leistung: Facit NTK
benwilliam eine Nachricht über ICQ schicken
Likes: 0
Standard

das Zweierkomplement ist dazu da um mit negativen Zahlen umgehen zu können.

Man errechnet es eigentlich indem man den einfachen Bitwert negiert und 1 addiert :-)
also z.B. du hast z.b.. den Bitwert 5 = 0101
du negierst diese also 1010 und addiesrt 1 dazu also 1011
ist aber das selbe als wenn du die Dezimalzahl von 0 abziehst.

in dieser Schreibweise zeigt das höchstwertigste bit an ob es sich um eine negative oder eine positive zahl handelt.
z.b. bei 4 bit wäre 0001 = 1 oder 0111 = 7 oder 1111 = -1 oder 1000 = -8
es läst sich umrechnen in dem du den höchstwertigsten bit negierst also:

z.b. du hast die zahl 1010 = -6 du kommst auf die -6 indem du folgendes machst

1 0 1 0
1*( -8 ) + 0*4 + 1*2 + 0*1 = -6

da Befehle wie z.b. "ZAHL < 0" ein prozessor nicht so einfach ausführen kann, überlegte man sich eine andere methode wie man prüfen kann ob eine Zahl negativ oder positiv ist.

beim Zweierkomplement wird foglerndermaßen geprüft:

ein Bittwert z.b. 1010 wird mit dem Bitwert 1000 UND-verknüpft

also 1010 && 1000 = 0000
bei einer negativen zahl kommt immer der Bitwert 0000 heraus. Ein Prozessor kann nicht sagen ob eine Zahl kleiner oder größer 0 ist aber er kann sehr wohl sagen ob eine Zhal gleich 0 ist. Und mit diesem kleinen Trick kannst du auch mit negativen Zahlen umgehen.


P.S.
sorry ohne jegliche struktur erklärt
jedenfall wäre deine Zahl im Zweierkomplement die 0011
benwilliam ist offline   Mit Zitat antworten
Alt 16.07.06, 23:24   #7 (permalink)
Themenstarter
 
Registriert seit: 17.03.04
BlackMarvel Leistung: Facit NTK
Likes: 0
Standard

danke für die auführliche antwort. aber wie gehe ich vor, wenn meine Zahl schon negativ ist? Ich meine 1101 ist ja schon negativ. addiere ich jetzt einfach 1 drauf? aber dann komme ich nicht auf 0011...
BlackMarvel ist offline   Mit Zitat antworten
Alt 16.07.06, 23:30   #8 (permalink)
Senior Member
 
Benutzerbild von t3rr0r.bYt3
 
Registriert seit: 07.01.03
t3rr0r.bYt3 Leistung: Z3
Likes: 19
Standard

das verfahren ist immer das gleiche, sowohl bei positiven als auch bei negativen zahlen.

0011 --> 1101 --> 0011

bei 2ten schritt machste das gleiche wie beim ersten. übrigens vereinfachte merkregel: alle bits invertieren, außer die letzte 1. alle zahlen danach (!) bleiben stehen.

also bei 0011 werden die ersten 3 invertiert, die letzte bleibt stehen. umgekehrt das gleiche.
t3rr0r.bYt3 ist offline   Mit Zitat antworten
Alt 17.07.06, 09:23   #9 (permalink)
Themenstarter
 
Registriert seit: 17.03.04
BlackMarvel Leistung: Facit NTK
Likes: 0
Standard

ok gut, ich hoffe ich habe es verstanden. kann einer meine Beispiel mal überprüfen ob die richtig sind?

Beispiel 1: 1110101001

-> 0001010111

Beispiel 2: 010110

-> 101010

Beispiel 3: 1010011000

-> 0101101000
BlackMarvel ist offline   Mit Zitat antworten
Alt 17.07.06, 09:59   #10 (permalink)
 
Registriert seit: 16.07.05
benwilliam Leistung: Facit NTK
benwilliam eine Nachricht über ICQ schicken
Likes: 0
Standard

jupp die stimmen

[Edit]
als hilfe
http://www.hackerboard.de/thread.php?threadid=26745
benwilliam ist offline   Mit Zitat antworten
Alt 24.01.12, 19:28   #11 (permalink)
 
Registriert seit: 25.09.10
bluepeople12 Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Zitat von Lesco Beitrag anzeigen
Um das Zweierkomplement zu erhalten musst du einfach diese Zahl von 0 abziehen:
0b-1101b = 11110011b
(Vorrausgesetzt, es ist ein 8 Bit-Wert)
Was bedeutet dann dieses 0b?

P.S. Übrigens eine sehr gute Erklärung benwilliam (auch wenn schon etwas länger her ).
bluepeople12 ist offline   Mit Zitat antworten
Alt 24.01.12, 20:38   #12 (permalink)
 
Benutzerbild von benediktibk
 
Registriert seit: 03.05.07
benediktibk Leistung: 8086benediktibk Leistung: 8086
Likes: 50
Standard

Das b soll andeuten, dass es sich um binäre Zahlen handelt. 10 ist ja nicht das gleiche wie 10b, aber ohne deutliche Kennzeichnung erkennt man den Unterschied nicht. Gängig ist auch 0b10 (dezimale 2) bzw. 0xA (hexadezimal, in dezimal wäre es eine 10).

mfg benediktibk
__________________
The essential prerequisite for building an expert system is to have an expert. - Frederick P. Brooks, Junior

Und wenn Ihr einen Politiker trefft der das gut findet - trefft ihn bitte ordentlich. - Chromatin
benediktibk ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Sonstiges » Off topic-Zone » Wer kann mir das Zweierkomplement erklären?
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
tool zum thema Zweierkomplement benwilliam Downloads 0 26.07.06 14:45
pc bleibt immer irgendwie hängen und ich kann mir nicht erklären wieso schweiz Die Problemzone 7 05.02.06 22:55
ernsthaftes Matheproblem - Wer kanns mir erklären? Noobkilla Off topic-Zone 24 06.09.05 15:29
Wer kann mir die Fehlermeldung erklären ? fontsix Die Problemzone 5 13.06.05 21:26
Juristen erklären das Internet Valentin Fun Section 1 11.02.05 12:20


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61