-
        

Ergebnis 1 bis 9 von 9

Thema: Hilfe bei Zweierkomplementbildung und Primfaktorzerlegung

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.01.2012
    Beiträge
    132

    Hilfe bei Zweierkomplementbildung und Primfaktorzerlegung

    Anzeige

    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:

    Die Dezimalzahlen 22 und 15 sind in ZK-Darstellung mit n = 7 darzustellen >und zu
    addieren. Wie lautet das Resultat in ZK-Darstellung?
    Also, bilden wir mal die Binärzahlen von 22 und 15:

    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=)

    Kürzen Sie den folgenden Bruch soweit wie möglich: 654322/5561737
    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:
    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!

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.03.2011
    Beiträge
    1.401
    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 !

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.01.2012
    Beiträge
    132
    Hi Klebwax

    Haben dir die Antworten von http://www.mikrocontroller.net nicht gefallen?
    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 weiter
    Und schon mal dran gedacht, daß dein Lehrer hier mitliest?
    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 nix

    Grüsse

  4. #4
    Erfahrener Benutzer Roboter-Spezialist Avatar von Thegon
    Registriert seit
    21.01.2011
    Beiträge
    562
    1101010 (-22)
    1110001 (-15)
    _______
    1011011 (= -37)
    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).

    Mfg Thegon

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.01.2012
    Beiträge
    132
    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:

    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.
    Nur eine Verständnisfrage: In der Wikipedia steht:

    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.
    Im Prinzip stimmt das so ja nicht: Das Zweierkomplement bzw. die Zweierkomplementdarstellung ist doch auch eine Konvention, die besagt:
    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)

  6. #6
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    28
    Beiträge
    3.517
    Blog-Einträge
    9
    Ja mehr steht da auch nicht nur 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

  7. #7
    Erfahrener Benutzer Roboter-Spezialist Avatar von Thegon
    Registriert seit
    21.01.2011
    Beiträge
    562
    Zitat Zitat von Thor_ Beitrag anzeigen

    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?
    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

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.01.2012
    Beiträge
    132
    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...=)

  9. #9
    Erfahrener Benutzer Roboter-Spezialist Avatar von Thegon
    Registriert seit
    21.01.2011
    Beiträge
    562
    Dann sind meine Tippfehler jetzt verewigt *peinlich*

    Freut mich wenns dir geholfen hat

    Mfg Thegon

Ähnliche Themen

  1. Fehlermeldung avrdude
    Von sabine17309 im Forum Elektronik
    Antworten: 15
    Letzter Beitrag: 02.09.2012, 17:50
  2. hilfe Anfänger braucht hilfe beim start
    Von thomas3 im Forum Robby RP6
    Antworten: 26
    Letzter Beitrag: 20.09.2010, 22:07
  3. Primfaktorzerlegung in C
    Von wodka_cheery im Forum C - Programmierung (GCC u.a.)
    Antworten: 1
    Letzter Beitrag: 23.11.2007, 21:58
  4. Hilfe Hilfe Schnelle es qualmt
    Von Larzarus im Forum Motoren
    Antworten: 32
    Letzter Beitrag: 07.06.2006, 15:04

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •