Zuhause Persönliche Finanzen Binäre Zahlen in C ++ - Dummys ausdrücken

Binäre Zahlen in C ++ - Dummys ausdrücken

Inhaltsverzeichnis:

Video: Writing 2D Games in C using SDL by Thomas Lively 2024

Video: Writing 2D Games in C using SDL by Thomas Lively 2024
Anonim

C ++ - Variablen werden intern als so genannte Binärzahlen gespeichert. Binäre Zahlen werden als eine Folge von 1 und 0 Werten gespeichert, die als Bits bekannt sind. Die meiste Zeit müssen Sie sich nicht wirklich mit Zahlen auf der Bit-Ebene befassen. es gibt jedoch Gelegenheiten, bei denen dies bequem ist. C ++ stellt zu diesem Zweck eine Reihe von Operatoren bereit.

Die sogenannten bitweisen logischen Operatoren arbeiten mit ihren Argumenten auf der Bit-Ebene. Um zu verstehen, wie sie funktionieren, untersuchen Sie, wie Computer Variablen speichern.

Das Dezimalzahlensystem

Die Zahlen, die Ihnen bekannt sind, werden als Dezimalzahlen bezeichnet, da sie auf der Zahl 10 basieren. Im Allgemeinen drückt der Programmierer C ++ Variablen als Dezimalzahlen. Daher würden Sie sagen, dass der Wert von var beispielsweise 123 ist.

Eine Zahl wie 123 bezieht sich auf 1 * 100 + 2 * 10 + 3 * 1 . Jede dieser Basiszahlen - 100, 10 und 1 - ist eine Potenz von 10.

123 = 1 * 100 + 2 * 10 + 3 * 1

Etwas anders, aber gleichwertig ausgedrückt:

123 = 1 * 10 2 + 2 * 10 1 + 3 * 10 0

Denken Sie daran, dass jede Zahl zur Null-Potenz 1 ist.

Andere Zahlensysteme

Die Verwendung einer Grundzahl von 10 für Das Zählsystem beruht aller Wahrscheinlichkeit nach auf der Tatsache, dass Menschen 10 Finger haben, die ursprünglichen Zählwerkzeuge. Die Alternative wäre Base 20.

Wenn Hunde unser Nummernschema erfunden hätten, könnte es gut sein, dass sie auf der Ziffer 8 basieren (eine Ziffer jeder Pfote ist auf dem hinteren Teil des Beins nicht sichtbar). Ein solches Oktal -System hätte genauso gut funktioniert:

123 10 = 1 * 8 2 + 7 * 8 1 999 + 3 * 8 0 = 173 8 Die kleinen 10 und 8 beziehen sich hier auf das Nummerierungssystem, 10 für dezimal (Basis 10) und 8 für oktal (Basis 8). Ein Zählsystem kann jede positive Basis verwenden. Das binäre Zahlensystem Computer haben im Wesentlichen zwei Finger. (Vielleicht ist das der Grund, warum Computer so dumm sind: Ohne einen opponierbaren Daumen können sie nichts begreifen. Und dann wieder, vielleicht nicht.) Computer bevorzugen das Zählen mit Basis 2. Die Zahl 123 10

würde ausgedrückt als:

123

10 = 0 * 128 + 1 * 64 + 1 * 32 + 1 * 16 + 1 * 8 + 0 * 4 + 1 * 2 + 1 * 1 = 01111011 < 2

Es ist immer üblich, binäre Zahlen durch Verwendung von 4, 8, 32 oder 64 Binärziffern auszudrücken, selbst wenn die führenden Ziffern Null sind. Das liegt auch daran, wie Computer intern gebaut werden. Da der Ausdruck Ziffer

sich auf ein Vielfaches von zehn bezieht, wird eine Binärziffer als Bit

bezeichnet. Der Begriff stammt von einer binären (b-) Stelle (-it).Acht Bits bilden ein Byte. Ein Wort ist normalerweise zwei oder vier Bytes.

Bei einer so kleinen Basis ist es notwendig, eine große Anzahl von Bits zu verwenden, um Zahlen auszudrücken. Es ist unbequem, einen Ausdruck wie 01111011 2 zu verwenden, um einen solchen weltlichen Wert wie 123 10 auszudrücken. Programmierer bevorzugen es, Zahlen durch Einheiten von Bytes oder acht Bits auszudrücken.

Eine einzelne Vier-Bit-Ziffer ist im Wesentlichen die Basis 16, da vier Bits einen beliebigen Wert von 0 bis 15 ausdrücken können. Die Basis 16 ist als das Hexadezimal -Zählsystem bekannt. Hexadezimal wird häufig mit Hex angegeben. Hexadezimal verwendet die gleichen Ziffern für die Zahlen von 0 bis 9. Für die Ziffern zwischen 9 und 16 verwendet Hexadezimal die ersten sechs Buchstaben des Alphabets: A für 10, B für 11 und so weiter. Somit wird 123

10 zu 7B 16 .

123 = 7 * 16 1 + B (dh 11) * 16 0 = 7B

16 Weil Programmierer Zahlen in 4, 8 vorziehen B. 32 oder 64 Bit, bevorzugen sie es ähnlich, hexadezimale Zahlen in 1, 2, 4 oder 8 Hexadezimalziffern auszudrücken, selbst wenn die führenden Ziffern 0 sind. Schließlich ist es unbequem, eine Hexadezimalzahl wie 7B < 16 mit einem Index, da Terminals keine Indizes unterstützen. Sogar in einem Textverarbeitungsprogramm ist es unpraktisch, Schriftarten in den und aus dem Subscript-Modus zu wechseln, nur um zwei Ziffern einzugeben. Daher verwenden Programmierer die Konvention, eine Hexadezimalzahl mit einer 0x zu beginnen (der Grund für eine solche seltsame Überzeugung reicht bis in die Anfänge von C zurück). Somit wird 7B 0x7B. Unter Verwendung dieser Konvention ist 0x7B gleich 123 (während 0x123 gleich 291 ist). Alle mathematischen Operatoren können auf hexadezimale Zahlen auf die gleiche Weise ausgeführt werden, wie sie auf Dezimalzahlen angewendet werden. Der Grund dafür, dass wir keine Multiplikation wie 0xC * 0xE in unseren Köpfen durchführen können, hat mehr mit den Multiplikationstabellen zu tun, die wir in der Schule gelernt haben, als mit irgendeiner Beschränkung im Zahlensystem.

Binäre Zahlen in C ++ - Dummys ausdrücken

Die Wahl des Herausgebers

Zum Hinzufügen von Arbeitsblättern zu Ihrer Excel 2013-Arbeitsmappe - dummies

Zum Hinzufügen von Arbeitsblättern zu Ihrer Excel 2013-Arbeitsmappe - dummies

Jede leere Arbeitsmappe, die Sie öffnen, enthält ein Einzelblatt mit dem prosaischen Namen Sheet1. Um weitere Blätter zu Ihrer Arbeitsmappe in Excel 2013 hinzuzufügen, klicken Sie einfach auf die Schaltfläche Neues Blatt in der Statusleiste (die mit Pluszeichen in einem Kreis). Jedes Arbeitsblatt, das Sie mit der Befehlsschaltfläche Neues Blatt hinzufügen, ist ...

Wie man bedingte Formatierung in Excel 2010 anwendet - dummies

Wie man bedingte Formatierung in Excel 2010 anwendet - dummies

Mit der bedingten Formatierung von excel 2010 können Sie das Aussehen von eine Zelle basierend auf ihrem Wert oder dem Wert einer anderen Zelle. Sie geben bestimmte Bedingungen an, und wenn diese Bedingungen erfüllt sind, wendet Excel die Formatierung an, die Sie auswählen. Sie können die bedingte Formatierung verwenden, um Datumsangaben zu suchen, die bestimmte Kriterien erfüllen (z. B. fallen auf ...

Die Wahl des Herausgebers

ASVAB Vorbereitung: Wie man Brüche multipliziert und dividiert - Dummies

ASVAB Vorbereitung: Wie man Brüche multipliziert und dividiert - Dummies

Es wird erwartet, dass festes Verständnis des mathematischen Grundwissens, wenn Sie das ASVAB nehmen. Multiplizieren und Dividieren von Brüchen sind zwei der Dinge, die Sie wissen müssen. Fraktionen multiplizieren Fraktionen multiplizieren ist sehr einfach. Alles, was Sie tun müssen, ist, die Zähler untereinander zu multiplizieren und die Nenner mit ... zu multiplizieren.

ASVAB-Praxis: Beispiel-Fragen zu Word-Kenntnissen - Dummies

ASVAB-Praxis: Beispiel-Fragen zu Word-Kenntnissen - Dummies

Sie müssen für die Word-Wissensprobleme bereit sein auf dem ASVAB. Das Format, das Sie unten sehen, ist ein gutes Beispiel dafür, was Sie finden werden, wenn Sie das ASVAB benutzen. Beispielfragen Wortwissenszeit: 11 Minuten für 35 Fragen Anleitung: Der Wortwissensubtest ist der dritte Untertest ...

ASVAB: Paragraph Comprehension Subtest Beispiel Testfragen - Dummies

ASVAB: Paragraph Comprehension Subtest Beispiel Testfragen - Dummies

Zeit für Sie, all Ihre ASVAB Vorbereitung zur guten Verwendung. Fragen Sie sich anhand der folgenden Beispieltestfragen, ob Ihr Leseverständnis auf dem neuesten Stand ist. Lesen Sie jeden kurzen Absatz, dem eine oder mehrere Fragen zu den in dieser Passage enthaltenen Informationen folgen. Achten Sie darauf, den Absatz sorgfältig zu lesen ...

Die Wahl des Herausgebers

Zoomen und Schwenken in AutoCAD - Dummys

Zoomen und Schwenken in AutoCAD - Dummys

AutoCAD erleichtert das Schwenken, indem es Bildlaufleisten und Echtzeit-Schwenken bietet. Beim Echtzeit-Panning (im Gegensatz zum Vorgabezeit-Panning?) Können Sie Objekte auf dem Bildschirm sehen, wenn Sie die Maus nach oben und unten oder vor und zurück bewegen. Natürlich bewegt sich der Standpunkt, nicht die Objekte. Sowohl das Schwenken als auch das Zoomen ändern die Ansicht ...

Mit AutoCAD LT 2005 DesignCenter - Dummies

Mit AutoCAD LT 2005 DesignCenter - Dummies

DesignCenter ist ein dummer Name für eine nützliche, wenn auch etwas ausgelastete Palette. Die DesignCenter-Palette ist praktisch für das Extrahieren von Daten aus allen Arten von Zeichnungen. Während sich die Eigenschaftenpalette mit Objekteigenschaften beschäftigt, behandelt die DesignCenter-Palette hauptsächlich benannte Objekte: Ebenen, Linientypen, Blockdefinitionen (dh Symboldefinitionen), Textstile und andere Organisationsobjekte ...

Was Sie über AutoCAD-Koordinatensysteme wissen sollten - Dummies

Was Sie über AutoCAD-Koordinatensysteme wissen sollten - Dummies

Jeder Punkt in einer AutoCAD-Zeichnungsdatei kann identifiziert werden durch seine X-, Y-, Z-Koordinaten. (In den meisten 2D-Zeichnungen ist der Z-Koordinatenwert 0. 0.) Dieses Koordinatensystem wird in AutoCAD als Weltkoordinatensystem oder WCS bezeichnet. Koordinateneingabe Die direkteste Methode, um Punkte präzise einzugeben, ist die Eingabe von Zahlen mit dem ...