Saturday, 17 June 2017

Binärfraktion


Binäre Brüche Während sie prinzipiell dieselben arbeiten, unterscheiden sich binäre Brüche von Dezimalbrüchen, in welchen Zahlen sie mit einer gegebenen Anzahl von Ziffern genau darstellen können und damit auch in Zahlen, die zu Rundungsfehlern führen: Insbesondere kann Binär nur diese Zahlen darstellen Als eine endliche Fraktion, wobei der Nenner eine Potenz von 2 ist. Leider schließt dies nicht die meisten der Zahlen ein, die als endliche Fraktion in der Basis 10 dargestellt werden können, wie 0,1. Abgerundet auf 4 Ziffern Gerundeter Wert als Bruchteil Und so erhalten Sie bereits einen Rundungsfehler, wenn Sie nur eine Zahl wie 0,1 notieren und diese über Ihren Interpreter oder Compiler ausführen. Sein nicht so groß wie 380 und kann unsichtbar sein, weil Computer abgeschnitten nach 23 oder 52 Binärziffern anstatt 4. Aber der Fehler ist dort und wird Probleme schließlich verursachen, wenn Sie ihn gerade ignorieren. Warum Binary verwenden Auf der untersten Ebene basieren Computer auf Milliarden von elektrischen Elementen, die nur zwei Zustände haben (meist niedrige und hohe Spannung). Durch Interpretation dieser als 0 und 1, seine sehr einfach zu bauen Schaltungen für die Speicherung binärer Zahlen und Berechnungen mit ihnen. Während seine Möglichkeit, das Verhalten von Dezimalzahlen mit binären Schaltungen als auch zu simulieren, ist es weniger effizient. Wenn Computer Dezimalzahlen intern verwendet haben, haben sie weniger Speicher und langsamer auf dem gleichen Niveau der Technologie. Da der Unterschied im Verhalten zwischen Binär - und Dezimalzahlen für die meisten Anwendungen nicht von Bedeutung ist, besteht die logische Wahl darin, Computer auf der Basis von Binärzahlen aufzubauen und mit der Tatsache zu leben, dass für Anwendungen, die ein dezimales Verhalten erfordern, einige zusätzliche Sorgfalt und Aufwand erforderlich sind. The Floating-Point Guide Home Grundlegende Antworten Referenzen xkcd ZahlenformateBinärrechner Verwenden Sie die folgenden Rechner, um die Addition, Subtraktion, Multiplikation oder Division von zwei binären Werten durchzuführen, umwandeln von Binärwert in Dezimalwert oder umgekehrt. Bitte beachten Sie, dass aufgrund der Beschränkung der Computer-Präzision. Dieser Rechner kann nur bis zu 32 Bit Binärwert oder bis zu 10 Dezimalstellen zählen. Binäres CalculationmdashAdd, Subtrahieren, Multiplizieren oder Dividenzen Binärer Wert in Dezimalwert konvertieren Dezimaler Wert in Binärwertreferenzen konvertieren Das binäre System ist ein numerisches System, das nur zwei Symbole 0 und 1 verwendet. Wegen seiner einfachen Implementierung in digitalen elektronischen Schaltungen unter Verwendung von Logik-Gattern verwenden alle modernen Computer das Binärsystem intern. Im folgenden werden einige typische Konvertierungen zwischen binären Werten und Dezimalwerten beschrieben. Dezimal 0 0 in binärer Dezimalzahl 1 1 in binärer Dezimalzahl 2 10 in binärer Dezimalzahl 3 2 1 11 in binärer Dezimalzahl 4 2 2 100 in binärer Dezimalzahl 7 2 2 2 1 111 in binärer Dezimalzahl 8 2 3 1000 in binärer Dezimalzahl 10 2 3 2 1010 in binärer Dezimalzahl 16 2 4 10000 in binärer Dezimalzahl 20 2 4 2 2 10100 in binärer binärer Addition Die Addition von Binärdateien entspricht dem Dezimalsystem. Der Unterschied ist nur, wenn das Ergebnis 2. 0 0 0 0 1 1 1 0 1 1 1 0, tragen 1 10 Binäre Subtraktion Subtraktion funktioniert ähnlich: 0 - 0 0 0 - 1 1, leihen 1 -1 1 - 0 1 1 - 1 0Dies mag etwas verwirrend sein, aber die Dezimalstellen in Binärzahlen repräsentieren Reziprokwerte von Potenzen von zwei (z. B. 12, 14, 18, 116 für die erste, zweite, dritte und vierte Dezimalstelle) Dezimalstellen repräsentieren die Kehrwerte der aufeinanderfolgenden Zehnerpotenzen. Um Ihre Frage zu beantworten, müssten Sie, um herauszufinden, welche Gegenseitigkeiten von Potenzen von zwei hinzugefügt werden müssen, um bis zu 110 hinzufügen. Zum Beispiel: 116 132 0,09375, die ganz in der Nähe von 110. Hinzufügen 164 bringt uns über, wie auch Aber 1256 ruft uns noch näher. Also: 0.00011001 binär 0.09765625 dezimal, was in der Nähe von dem, was Sie gefragt. Sie können fortfahren, mehr Ziffern hinzuzufügen, also würde die Antwort 0.00011001 sein. Hier ist, wie die Methode denken. Jedes Mal, wenn Sie mit 2 multiplizieren, verschieben Sie die binäre Darstellung der Zahl links 1 Stelle. Sie haben die höchste Ziffer nach dem Punkt auf den 1s Platz verschoben, also nehmen Sie diese Ziffer, und es ist die erste (höchste, also am weitesten) Ziffer Ihrer Fraktion. Tun Sie das wieder, und Sie haben die nächste Ziffer. Umwandeln der Basis einer ganzen Zahl durch Teilen und Nehmen des Restes als die nächste Ziffer verschiebt die Zahl nach rechts. Deshalb erhalten Sie die Ziffern in der umgekehrten Reihenfolge, niedrigste zuerst. Dies verdeutlicht offensichtlich auf jeder Basis, nicht nur 2, wie von GoofyBall. Eine andere Sache, zum zu denken: wenn Sie auf N Stellen abrunden, stoppen Sie an N1 Stellen. Wenn die Ziffer N1 eine Eins ist, müssen Sie aufrunden (da Ziffern in Binär nur eine 0 oder 1 sein können, trunkiert mit der nächsten Ziffer eine 1 ist so ungenau wie Abschneiden einer 5 in Dezimalzahl). Antwort # 2 am: April 23, 2010, 07:10:25 am »Ihre Antwort 2017 Stack Exchange, IncConverting Dezimal Brüche zu Binary In dem eigentlichen Text, sahen wir, wie die Dezimalzahl 14.75 in eine binäre Darstellung zu konvertieren. In diesem Fall stellen wir fest, daß der Bruchteil der binären Expansion 34 offensichtlich 12 ist. Während dies für dieses spezielle Beispiel gearbeitet hat, braucht es einen systematischeren Ansatz für weniger offensichtliche Fälle. In der Tat gibt es eine einfache, Schritt-für-Schritt-Methode für die Berechnung der binären Erweiterung auf der rechten Seite des Punktes. Wir veranschaulichen die Methode, indem Sie den Dezimalwert .625 in eine binäre Darstellung umwandeln. Schritt 1 . Beginnen Sie mit dem Dezimalbruch und multiplizieren Sie mit 2. Der ganze Zahlenteil des Ergebnisses ist die erste binäre Ziffer rechts vom Punkt. Weil .625 x 2 1 .25 ist die erste binäre Zahl rechts vom Punkt eine 1. Bisher haben wir .625 .1. (Basis 2). Schritt 2 . Als nächstes ignorieren wir den ganzen Zahlenteil des vorherigen Ergebnisses (die 1 in diesem Fall) und multiplizieren mit 2 noch einmal. Der ganze Zahlenteil dieses neuen Ergebnisses ist die zweite binäre Zahl rechts vom Punkt. Wir werden diesen Vorgang fortsetzen, bis wir eine Nullstelle als Dezimalteil erhalten oder bis wir ein unendliches Wiederholungsmuster erkennen. Wegen 0,25 x 2 0,50 ist die zweite binäre Zahl rechts vom Punkt eine 0. Bisher haben wir .625 .10. (Basis 2). Schritt 3 . Unberücksichtigung der ganzen Zahl Teil des vorherigen Ergebnis (dieses Ergebnis war .50 so gibt es tatsächlich keine ganze Zahl Teil zu ignorieren in diesem Fall), multiplizieren wir mit 2 noch einmal. Der ganze Zahlenteil des Ergebnisses ist nun die nächste Binärzahl rechts vom Punkt. Weil .50 x 2 1 .00 ist die dritte binäre Ziffer rechts vom Punkt eine 1. So jetzt haben wir .625 .101. (Basis 2). Schritt 4 . In der Tat brauchen wir keinen Schritt 4. Wir sind in Schritt 3 fertig, weil wir 0 als den Bruchteil unseres Ergebnisses haben. Daher die Darstellung von .625 .101 (Basis 2). Sie sollten unser Ergebnis durch Erweitern der Binärdarstellung verdoppeln. Unendliche Binärfraktionen Die Methode, die wir gerade erforscht haben, kann verwendet werden, um zu zeigen, wie einige Dezimalfraktionen unendliche Binärfraktionserweiterungen erzeugen werden. Wir veranschaulichen unter Verwendung dieser Methode, um zu sehen, daß die binäre Darstellung der Dezimalfraktion 110 tatsächlich unendlich ist. Rufen Sie unsere Schritt-für-Schritt-Prozess für die Durchführung dieser Umwandlung. Schritt 1 . Beginnen Sie mit dem Dezimalbruch und multiplizieren Sie mit 2. Der ganze Zahlenteil des Ergebnisses ist die erste binäre Ziffer rechts vom Punkt. Weil .1 x 2 0 .2 ist die erste binäre Zahl rechts vom Punkt eine 0. Bisher haben wir .1 (dezimal) .0. (Basis 2). Schritt 2 . Als nächstes ignorieren wir den ganzen Zahlenteil des vorherigen Ergebnisses (0 in diesem Fall) und multiplizieren mit 2 noch einmal. Der ganze Zahlenteil dieses neuen Ergebnisses ist die zweite binäre Zahl rechts vom Punkt. Wir werden diesen Vorgang fortsetzen, bis wir eine Nullstelle als Dezimalteil erhalten oder bis wir ein unendliches Wiederholungsmuster erkennen. Wegen 0,2 x 2 0,4 ist die zweite binäre Zahl rechts neben dem Punkt ebenfalls 0. Bisher haben wir .1 (dezimal) .00. (Basis 2). Schritt 3 . Unter Vernachlässigung des ganzen Zahlenteils des vorherigen Ergebnisses (wieder a 0) multiplizieren wir erneut mit 2. Der ganze Zahlenteil des Ergebnisses ist nun die nächste Binärzahl rechts vom Punkt. Wegen .4 x 2 0.8 ist die dritte binäre Ziffer rechts neben dem Punkt ebenfalls 0. So, jetzt haben wir .1 (dezimal) .000. (Basis 2). Schritt 4 . Wir multiplizieren mit 2 noch einmal, wobei wir den ganzen Zahlenteil des vorherigen Ergebnisses (wieder eine 0 in diesem Fall) nicht beachten. Wegen .8 x 2 1 .6 ist die vierte binäre Ziffer rechts vom Punkt a 1. So jetzt haben wir .1 (dezimal) .0001. (Basis 2). Schritt 5. Wir multiplizieren erneut mit 2, wobei wir den ganzen Zahlenteil des vorherigen Ergebnisses (a 1 in diesem Fall) nicht berücksichtigen. Weil .6 x 2 1 .2 ist die fünfte binäre Ziffer rechts vom Punkt eine 1. So, jetzt haben wir .1 (dezimal) .00011. (Basis 2). Schritt 6. Wir multiplizieren mit 2 noch einmal, ohne Rücksicht auf die ganze Zahl des vorherigen Ergebnisses. Hier können wir eine wichtige Beobachtung machen. Beachten Sie, dass dieser nächste Schritt (multipliziert 2. x 2) genau die gleiche Aktion ist, die wir in Schritt 2 hatten. Wir sind dann verpflichtet, die Schritte 2-5 zu wiederholen, dann kehren wir wieder unbegrenzt zu Schritt 2 zurück. Mit anderen Worten, wir erhalten nie eine 0 als Dezimalbruchteil unseres Ergebnisses. Stattdessen fahren wir nur durch die Schritte 2-5 für immer. Dies bedeutet, dass wir die Sequenz der in den Schritten 2-5 erzeugten Ziffern, nämlich 0011, immer und immer erhalten. Daher wird die endgültige binäre Darstellung sein. 1 (dezimal) .00011001100110011. (Basis 2). Das Wiederholungsmuster ist deutlicher, wenn man es wie folgt farblich hervorhebt: 1 (dezimal) .0 0011 0011 0011 0011. (Basis 2).

No comments:

Post a Comment