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 2024

Video: Writing 2D Games in C using SDL by Thomas Lively 2024
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

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 ...