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

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

Inhaltsverzeichnis:

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

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

zu arbeiten. C ++ - Variablen werden intern als so genannte Binärzahlen gespeichert. Binärzahlen werden als eine Folge von 1 und 0 Werten gespeichert, die als Bits bekannt sind. Die meiste Zeit brauchen Sie sich nicht wirklich mit bestimmten Bits zu befassen, die Sie zur Darstellung von Zahlen verwenden. Manchmal ist es jedoch praktisch und bequem, mit Zahlen auf Bit-Ebene zu basteln - daher stellt C ++ eine Reihe von Operatoren für diesen Zweck bereit.

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

Das Dezimalzahlensystem

Die Zahlen, die Sie seit dem Zeitpunkt kennen, an dem Sie zum ersten Mal an Ihren Fingern zählen konnten, werden als Dezimalzahlen bezeichnet, weil sie auf auf der Zahl 10. Im Allgemeinen drückt der Programmierer C ++ - Variablen als Dezimalzahlen aus. Daher könnten Sie den Wert von var als (sagen wir) 123 angeben, aber die Auswirkungen berücksichtigen.

Eine Zahl wie 123 bezieht sich auf 1 * 100 + 2 * 10 + 3 * 1. Alle diese Basiszahlen - 100, 10 und 1 - sind Potenzen von 10.

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

Auf eine etwas andere (aber äquivalente) Weise ausgedrückt, sieht 123 so aus:

123 = 1 * 10 < 2 + 2 * 10 1 + 3 * 10 0 Denken Sie daran, dass

eine beliebige Zahl zur Null-Potenz ist. Andere Zahlensysteme

Nun, okay, mit 10 als Basis (oder

base ) unseres Zählsystems stammen wahrscheinlich die 10 menschlichen Finger, die ursprünglichen Zählwerkzeuge. Eine alternative Basis für ein Zählsystem könnte genauso gut 20 gewesen sein.

Wenn unser Nummernschema von Hunden erfunden wurde, könnte es gut auf 8 basieren (eine Ziffer jeder Pfote ist auf dem hinteren Teil des Beins nicht sichtbar). Mathematisch hätte ein solches

Oktal -System genauso gut funktioniert: 123

10 = 1 * 8 2 + 7 * 8 1 < + 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. Computer bevorzugen das Zählen mit der Basis 2. Die Zahl 123 10 würde so ausgedrückt werden:

123

10 = 0 * 2

7 + 1 * 2 < 6 + 1 * 2

5 + 1 * 2 4 + 1 * 2 3 + 0 * 2 2 + 1 * 2 1 + 1 * 2 0 123 10 = 0 * 128 + 1 * 64 + 1 * 32 + 1 * 16 + 1 * 8 + 0 * 4 + 1 * 2 + 1 * 1 = 01111011 2 Die Computerkonvention drückt Binärzahlen unter Verwendung von 4, 8, 16, 32 oder sogar 64 Binärziffern aus, auch wenn die führenden Ziffern 0 sind.Das liegt auch daran, wie Computer intern gebaut werden. Da der Ausdruck Ziffer sich auf ein Vielfaches von 10 bezieht, wird eine Binärziffer als Bit bezeichnet (Abkürzung für Binärziffer >). Ein Byte besteht aus 8 Bit. (Das Aufrufen einer Binärziffer a Byte-it schien keine gute Idee zu sein.) Der Speicher wird normalerweise in Bytes gemessen (wie Rollen in Einheiten von Dutzenden von Bäckern gemessen werden). Bei einer so kleinen Basis müssen Sie eine

große

Bitanzahl verwenden, um Zahlen auszudrücken. Menschen wollen nicht die Mühe haben, einen Ausdruck wie 011110112 zu verwenden, um einen solchen weltlichen Wert wie 123 10 auszudrücken. Programmierer bevorzugen es, Zahlen unter Verwendung einer geraden Anzahl von Bits auszudrücken. Das Oktalsystem - das auf 3 Bit basiert - war in den frühen Tagen von C das Standard-Binärsystem. Wir sehen noch heute eine Spur davon - eine Konstante, die mit einer 0 beginnt, wird in C ++ als oktal angenommen. Somit lautet die Zeile: cout << "0173 =" << 0173 << endl; erzeugt folgende Ausgabe: 0173 = 123 Oktal wurde jedoch fast vollständig durch das Hexadezimal -System ersetzt, das auf 4-Bit-Ziffern basiert. Hexadezimal verwendet die gleichen Ziffern für die Ziffern 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 usw. Somit wird 123 10 zu 7B

16 , wie folgt: 123 = 7 * 16 1 + B (dh 11) * 16 0

= 7B

16

Programmierer bevorzugen es, hexadezimale Zahlen in Vielfachen von 4 hexadezimalen Ziffern auszudrücken, selbst wenn die führende Ziffer jeweils 0 ist.

Schließlich, wer möchte eine hexadezimale Zahl wie 7B ausdrücken

16 unter Verwendung eines Index? Terminals unterstützen nicht einmal Subskripte. Selbst bei einem Textverarbeitungsprogramm ist es ein Ziehen, um Schriftarten in den und aus dem Subscript-Modus zu wechseln, nur um zwei lausige Ziffern einzugeben.

Daher verwenden Programmierer (keine Narren, sie) die Konvention, eine Hexadezimalzahl mit einer 0x zu beginnen. Somit wird 7B 0x7B. Unter Verwendung dieser Konvention ist die Hexadezimalzahl 0x7B gleich 123 dezimal, während 0x123 hexadezimal gleich 291 dezimal ist. Der Codefragment cout << "0x7B =" << 0x7B << endl; cout << "0x123 =" << 0x123 "endl; erzeugt die folgende Ausgabe: 0x7B = 123 0x123 = 291 Sie können alle mathematischen Operatoren für hexadezimale Zahlen genauso verwenden wie für Dezimalzahlen.

Wenn Sie wirklich wollen, können Sie Binärzahlen in C ++ '14 mit dem Präfix '0b' schreiben. Somit wird 123 zu 0b01111011. 

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

Die Wahl des Herausgebers

ÜBen Mathe-Fragen für die Praxis: Sequenzen - Dummies

ÜBen Mathe-Fragen für die Praxis: Sequenzen - Dummies

Wenn Sie eine Frage zur Praxis Core-Prüfung beantworten Wenn Sie eine arithmetische oder geometrische Sequenz lösen müssen, denken Sie daran: Es geht darum, regelmäßige Muster zu finden - und manchmal rückwärts zu arbeiten. In den folgenden Übungsfragen fängst du damit an, einen bestimmten Begriff in einer Folge zu finden (einfach: suche einfach nach dem Unterschied zwischen jedem ...

ÜBen Mathematische Fragen für die Praxis: Ähnliche und kongruente Formen - Dummies

ÜBen Mathematische Fragen für die Praxis: Ähnliche und kongruente Formen - Dummies

Auch wenn zwei Formen aussehen identisch, können sie nicht sein. Zum Beispiel können Sie bei der Praxis Core-Prüfung auf eine Frage stoßen, bei der zwei Formen gleich aussehen, aber es wird Ihnen gesagt, sie seien "ähnlich". " Was bedeutet das? Was ist, wenn sie als "kongruent" gekennzeichnet sind? Wenn Sie sich nicht sicher sind, sollten die folgenden Übungsfragen (und ihre Erklärungen) ...

ÜBen Mathematische Fragen für die Praxis: Vereinfachen eines algebraischen Ausdrucks - Dummys

ÜBen Mathematische Fragen für die Praxis: Vereinfachen eines algebraischen Ausdrucks - Dummys

Einige algebraische Ausdrücke auf der Praxis Core Prüfung kann einschüchternd aussehen, und Sie können sogar auf sie aufgeben und weitermachen. Wie Sie in den folgenden Übungsfragen sehen werden, können Sie jedoch einige einfache Techniken verwenden, wie das Faktorisieren und Kombinieren von ähnlichen Begriffen, um sie zu lösen. Übungsfragen Welche der folgenden ist die vereinfachte ...

Die Wahl des Herausgebers

Fotografieren im Sportmodus mit einer Canon EOS Rebel T3-Kamera - Dummies

Fotografieren im Sportmodus mit einer Canon EOS Rebel T3-Kamera - Dummies

Der Sportmodus der Canon Rebel T3 und T3i führt zu einer Reihe von Einstellungen, mit denen Sie sich bewegende Motive fotografieren können. Zunächst wählt die Kamera eine kurze Verschlusszeit aus, die zum Stoppen der Bewegung benötigt wird. "Farben, Schärfe und Kontrast sind alle im Sportmodus Standard, wobei keine der Anpassungen im Portrait ...

Aufnahme von Bildern im Nahaufnahmemodus mit einer Canon EOS Rebel T3-Kamera

Aufnahme von Bildern im Nahaufnahmemodus mit einer Canon EOS Rebel T3-Kamera

Der Nahaufnahme-Modus der Canon Rebel T3 und T3i ermöglicht es Ihnen nicht, näher am Motiv zu fokussieren als bei einigen Nicht-Spiegelreflexkameras. Die Nahfokussierungsfähigkeiten Ihrer Kamera hängen ganz von der Linse ab, die Sie verwenden. (In der Bedienungsanleitung Ihres Objektivs sollte die minimale Fokussierentfernung angegeben werden.) Auswahl des Nahaufnahmemodus ...

Fotografieren im Querformat mit einer Canon EOS Rebel T3-Kamera - Dummies

Fotografieren im Querformat mit einer Canon EOS Rebel T3-Kamera - Dummies

Der Landschaftsmodus der Canon Rebel T3 und T3i, der für die Aufnahme von Aussichtspunkten, Stadtskylinen und anderen großformatigen Motiven konzipiert wurde, erzeugt eine große Schärfentiefe. Infolgedessen erscheinen Objekte, die sich sowohl in der Nähe der Kamera als auch in einiger Entfernung befinden, scharf fokussiert. Wie im Hochformat-Modus erreicht der Querformat-Modus die größere Schärfentiefe durch Manipulieren von ...

Die Wahl des Herausgebers

Erstellen und Verwenden von Verknüpfungen im dynamischen GP-Navigationsbereich - Dummies

Erstellen und Verwenden von Verknüpfungen im dynamischen GP-Navigationsbereich - Dummies

Microsoft Dynamics GP-Verknüpfungen werden angezeigt. Der obere Teil des Navigationsfensters, wenn Sie Ihre Dynamics GP Homepage anzeigen. Verwenden Sie Verknüpfungen, um häufig verwendete Fenster und Ressourcen in Dynamics GP schnell zu öffnen. Zum Beispiel können Sie einen Satz von Verknüpfungen zu den Fenstern erstellen, die Sie regelmäßig verwenden, und einen anderen Satz für die ...

MYOB Software für Dummies-Spickzettel (Neuseeland-Ausgabe) - Dummies

MYOB Software für Dummies-Spickzettel (Neuseeland-Ausgabe) - Dummies

Sie können MYOB verwenden für Ihre Geschäftsanforderungen schnell und einfach durch diese einfachen Verknüpfungen. Wenn Sie zusätzliche Hilfe benötigen, bieten viele Websites MYOB-Unterstützung an.

MYOB Software für Dummies Cheat Sheet (Australische Ausgabe) - Dummies

MYOB Software für Dummies Cheat Sheet (Australische Ausgabe) - Dummies

Mit MYOB für Ihre Unternehmensanforderungen kann durch diese einfachen Abkürzungen noch schneller und einfacher gemacht werden. Und wenn Sie Hilfe benötigen, gibt es viele Websites, die Unterstützung anbieten.