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