Binär auf Dezimal bei Computern?
Abend!
Hab eine Frage was das Umrechnen von Binär auf Dezimal betrifft.
Ich weiß wie man von Binär auf Dezimal umrechnet, aber wie macht das ein Computer? Der kann ja keine Dezimalzahlen addieren so wie man es am Papier macht?
Danke für die Antwort im Voraus!
5 Antworten
Ein Computer macht das so ähnlich, wie du als Mensch z.B. Zahlen von Dezimal nach Hex umrechnest. Also Division mit Rest. Ich spiel das mal beispielhaft für die Zahl 1234 (binär 0100 1101 0010) durch:
100 1101 0010 / 1010 = 111 1011 (dezimal 123) , Rest 100 (dezimal 4)
111 1011 / 1010 = 1100 (dezimal 12), Rest 11 (dezimal 3)
1100 / 1010 = 1, Rest 10 (dezimal 2)
1 / 1010 = 0, Rest 1
Die Reste werden einfach rückwärts als ganze Bytes gespeichert (0000 0001, 0000 0010, 0000 0011, 0000 0100) und die vorderen vier Nullen werden durch 0011 getauscht. Dadurch hast du eine ASCII-Zeichenfolge mit den Dezimalzahlen.
Wie das ganze auf den Bildschirm kommt, ist je nach Gerät unterschiedlich. Bei einem einfachen Taschenrechner werden evtl. nur die Ziffern im Binärformat an das Display gesendet und das Display ist selbst so geschaltet, dass die entsprechenden LCD-Segmente eingefärbt werden.
Bei einem PC oder auch einem Smartphone ist das ein ziemlich komplizierter Weg, wo die Zahlzeichen aus einer Zeichentabelle ausgelesen werden, die Kurven und Geraden berechnet werden, die man für die Darstellung der Zahl braucht und dann halt im Grafikspeicher die entsprechenden Pixel eingefärbt werden.
Schau einfach mal nach Minecraft Binär Rechnern dann wird dir das auch etwas klarer ;) Gibt ganz gute Tutorials die auch das Hintergrundwissen erklären
Okay :) Was wäre dann deine genaue Frage? Ein PC rechnet nicht in Dezimal. Das wird erst umgewandelt wenn es auf dem Bildschirm angezeigt wird ;)
Genau wie es umgewandelt wird wenn aus auf dem Bildschirm kommt.
Das funktioniert dann mit einem Decoder wie du bereits gesagt hast :)
00000111 + 00001111 = 00010110
7 + 15 = 22
Z.B
Und wie rechnet der Computer das wieder zurück? Oder wird das gar nicht mehr zurück gerechnet?
Wenn ich zum Beispiel in einer C-Konsole 7 + 15 rechne = wird 22 ausgegeben. Ist das einfach nur eine "Zahl" die von der Grafikkarte gerendert wird oder weiß der CPU wie aus seiner Binärzahl die 22 entstanden ist?
Das kommt drauf an. Auf der Abstraktionsebene werden die Zahlen durch rechenaufgaben gerendert damit du sie siehst. Und im "Backend" rechnet deine CPU das binär.
Gar nicht, ein Computer rechnet ausschließlich mit Binärzahlen.
Der kann ja keine Dezimalzahlen addieren so wie man es am Papier macht?
Doch. Das kann er.
Und genauso macht er es auch.
Nur nimmt er kein Papier dafür ...
... sondern Transistoren.
Und wie macht er das genau? Bsp 0111 --> 4+2+1 = 7 Wenn der das wieder umrechnet und mit Transistoren rechnet dann ist das ja ein ewiger Kreislauf oder?
Kein Kreislauf.
Es geht. Wenn es nicht gehen würde, gäbs keine Computer.
Allerdings führt eine genaue Erklärung zu weit. Das ist Mathe, Algebra und Schaltlogik.
Mein Altruismus reicht nicht aus, um hier den Stoff von 4 Semestern Grundlagen Theoretische Informatik hinzutippen.
Das bedeutet das der Cpu nie zurück rechnet sondern einfach nur ein Bild gerendert wird wo gesagt wird die Sieben schaut so aus und die soll auch den Bildschirm geklatscht werden wenn die Binärzahl kommt?
Nein. Das bedeutet es nicht.
Wie bereits erwähnt...
...dir fehlen mindestens 2 Semester.
Ich habe ja schon eigene Binär Rechner in Minecraft gebaut nur ich wollte mein System vereinfachen, weil wenn irgendwann Zahlen wie 01001101011 rauskommen kann ich das doch nicht durch einen einfachen Minecraft Decoder schicken das wäre viel zu groß. Außerdem ich gehe auf eine Informatik Schule wo ich das Erste Digitaltechnik Hardwareentwicklung Softwareentwicklung gemacht habe also die Basis kenne ich schon. Trotzdem danke für die Antwort