Haben dir die Antworten von http://www.mikrocontroller.net nicht gefallen? Und schon mal dran gedacht, daß dein Lehrer hier mitliest?
MfG Klebwax
Hallo zusammen
Ich bin an meinen Hausaufgaben und komme da nicht weiter.
1.) Die Bildung des Zweierkomplements, da komme ich nicht wirklich weiter. Die Aufgabe lautet:
Also, bilden wir mal die Binärzahlen von 22 und 15:Die Dezimalzahlen 22 und 15 sind in ZK-Darstellung mit n = 7 darzustellen >und zu
addieren. Wie lautet das Resultat in ZK-Darstellung?
10110 (22)
1111 (15)
dann n=7 machen
0010110 (22)
0001111 (15)
dann muss für das einerkomplement invertiert werden:
1101001 (105) ehemals 22
1110000 (112) ehemals 15
dann für das zweierkomplement 1 addiert werden
1101010 (106)
1110001 (113)
nun die Addition der beiden Zahlen
1101010
1110001
_______
0011011 (27)
Das ich etwas falsch mache ist mir schon klar, ich komme nur nicht dahinter was -.-. Könnte mir jemand erläutern wie das Ganze genau funktioniert.
Noch kurz zur Kontrolle: Ich glaube zu wissen, dass das geniale an der Zweierkomplement-Darstellung ist, dass man Subtraktionen durch Additionen darstellt, also z.B.: anstatt das man rechnet 4-3 kann man mit dem Zweierkomplement 4+(-3) rechnen, was die konzipierung der ALU einfacher gestaltet. Ist das so korrekt?
Nun die zweite Frage=)
Wenn ich in die Lösungen schaue, wird das da mit der Primfaktorzerlegung gemacht. Ich weis wie die Primfaktorzerlegung funktioniert, habe dazu aber eine Frage:Kürzen Sie den folgenden Bruch soweit wie möglich: 654322/5561737
Funktioniert die wirklich nur durch "ausprobieren"?
Also wenn man 654322 hat schaut man: geht das durch 2?
falls ja
rechne durch 2
falls nein
überprüfe ob teilbar durch nächste Primzahl
Oder was ist da der Trick? Weil sonst wär das ja im Prinzip "Bruto-Force-Mathe"^^
Ich hoffe, dass Ihr meine Verwirrungsknoten im Hirn auflösen könnt=)
Liebe Grüsse
Thor!
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 11: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 18: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