Haben dir die Antworten von http://www.mikrocontroller.net nicht gefallen? Und schon mal dran gedacht, daß dein Lehrer hier mitliest?
MfG Klebwax
Haben dir die Antworten von http://www.mikrocontroller.net nicht gefallen? Und schon mal dran gedacht, daß dein Lehrer hier mitliest?
MfG Klebwax
Strom fließt auch durch krumme Drähte !
Hi Klebwax
Jein, leider konnte ich damit nicht viel anfangen. Und Wikipedia habe ich natürlich schon durchforstet, genauso wie diverse Youtube Anleitungen - komme aber einfach nicht weiterHaben dir die Antworten von http://www.mikrocontroller.net nicht gefallen?
Bisher nicht, wüsste aber nicht worin dabei das Problem liegt, zeigen meine Fragen doch, dass ich die Thematik verstehen will und mir auch Hilfe hole. Ansonsten könnte ich das Ganze einfach durch den Windows-Rechner jagen, bringt mir aber nixUnd schon mal dran gedacht, daß dein Lehrer hier mitliest?
Grüsse
Beide Zahlen haben an der Stelle mit dem Stellenwert 5 eine Eins (rot markiert) . Eins und eins gibt null (blau), eins weiter. Bei der Stelle mit dem Stellenwert 6 stehen auch bei beiden Zahlen eine Eins (grün markiert). Eins plus Eins plus der Übertrag von der vorherigen Stelle gibt wieder Eins (orange und fett) , und nicht null. Ich nehme einmal an du hast den Übertrag vergessen. Somit liegt das Ergebnis wieder vorzeichenrichtig in 2K - Darstellung vor und ergibt (- 37).1101010 (-22)
1110001 (-15)
_______
1011011 (= -37)
Mfg Thegon
Hi Thegon
Ich danke dir vielmals für deine Antwort, glaub jetzt komm ich dahinter (so langsam)
habe diese Vorschrift für die Rückwandlung benutzt:
Wenn man eine Zahl von der Zweierkomplementdarstellung ins Dezimalsystem umkodieren will, muss man folgendermaßen (umgekehrt entsprechend der Umwandlung vom Dezimalsystem in die Zweierkomplementdarstellung) vorgehen:
Nur eine Verständnisfrage: In der Wikipedia steht:Erste Stelle anschauen: wenn Ziffer = 1: Zahl negativ, Ziffer = 0: Zahl positiv.
Zahl ist positiv: Umrechnung vom Binärsystem ins Dezimalsystem ist bereits möglich;
Zahl ist negativ: Man subtrahiert 1 und negiert die einzelnen Ziffern. (Dieser Schritt lässt sich für den Menschen vereinfachen: Man negiert zuerst die einzelnen Ziffern und addiert hinterher 1, was zum selben Ergebnis führt.)
Die entstandene, entsprechend positive Zahl im Binärsystem rechnet man ins Dezimalsystem um.
Wenn negativ, ein "−" vor die Zahl setzen.
Im Prinzip stimmt das so ja nicht: Das Zweierkomplement bzw. die Zweierkomplementdarstellung ist doch auch eine Konvention, die besagt:Bei der Codierung in der Zweierkomplementdarstellung ist dagegen die explizite Unterscheidung zwischen einem ausgezeichneten Vorzeichenbit und den Bits, die den Betrag beschreiben, nicht notwendig. Negative Zahlen sind daran zu erkennen, dass das höchstwertige Bit den Wert 1 hat. Bei 0 liegt eine positive Zahl oder der Wert 0 vor.
Hey, diese Binäre Zahl ist in Zweierkomplementdarstellung kodiert, also interpretiere die erste Ziffer als Vorzeichen und nicht als Wert.
Oder?
Grüsse! Und danke!
Leider doch noch nicht so klar!und zwar:
Das Zweierkomplement soll doch dazu da sein, dass man Subtraktionen durch Additionen ausdrücken kann und einfach so korrekt rechnen kann.
Bei uns kommt ja aber -37 raus anstatt korrekterweise 37.
Heist das, ich rechne nur Dezimal negative Zahlen ins Zweierkomplement um um sie verrechnen zu können? Und positive rechne ich weiterhin normal?
Sprich: (in pseudocode)
Frage Zahl a und b ab:
wenn a == negativ
a = Zweierkomplement von a
wenn b == negativ
b = Zweierkomplement von b
c = a + b
Ausgabe c
Geändert von Thor_ (23.09.2012 um 10:07 Uhr)
Ja mehr steht da auch nichtnur halt komplizierter ausgedrückt ^.^
Schaut ruhig mal auf meiner Homepage vorbei:
http://kampis-elektroecke.de
Oder folge mir auf Google+:
Daniel Kampert
Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.
Gruß
Daniel
Also:
Die Zweierkomplementdarstellung ist dazu da, auch negative Zahlen darstellen zu können. Im Prinzip funktioniert das so:
die erste Stelle (MSB) hat ein negatives Vorzeichen, die anderen ein posetives.
So was heißt das: Wenn du eine n= 7 Zahl hast (wie oben), dann hätte die erste Stelle den Stellenwert 2^6 = 64, klar.
Da diese Zahl aber in 2K - Darstellung vorliert (das muss man dazuschreiben, denn nur anhand der Bits kann man das nicht erkennen, es könnte ja auch eine Zahl im 1K sein oder ein coodiertes ASCII - Zeichen) hat die höchstwertige Stelle einen Stellenwert von (-64). Alle anderen sind posetiv (also stelle 5 hat stellenwert + 32 usw.)
somit folgt:
1111111 = (-1) und 1000000 = (-64)
Klar warum?
(-64)
+ 32
+ 16
+ 8
+ 4
+ 2
+ 1
____
(-1)
Das da -37 raus gekommen ist, stimmt ganz genau, denn wenn du von 22 das 2K bildest, dann hast du (-22), und wenn du von 15 das 2k bildest, dann hast du (-15). Wenn man also von einer posetiven Zahl eine andere posetive Zahl abziehen will, dann müsste man diese subtrahieren und das ist aufwendig. Also kann man von der Zahl, die man subtrahieren will, das 2K bilden, und sie einfach dazu addieren!
Darum gehts. Man kann eine Subtraktion durch eine Addition ausführen, was maschinell (im Rechenwerk) leicher zu realisieren ist.
Ein Beispiel:
10
-5 'Fünf wird von Zehn subtrahiert
_____
5
10
+(-5) 'zu Zehn wird minus 5 dazuaddiert, was zum gleichen Ergebnis führt
______
5
Klar?
Mfg Thegon
Geändert von Thegon (23.09.2012 um 17:13 Uhr) Grund: Tippfehler ausgebessert
Hi Thegon!
Jaaaaa, dankeee=) Jetzt hab ichs verstanden und bin restlos glücklich=) Der Thread wird ausgedruckt und zu den Unterlagen gelegt, so dass ichs in Zukunft in einer mir verständlichen Sprache nachschauen kann=)
Erste Woche Informatik Studium, und schon Stress, Zweifel und Verzweiflung...=)
Dann sind meine Tippfehler jetzt verewigt*peinlich*
Freut mich wenns dir geholfen hat
Mfg Thegon
Lesezeichen