Hier möchte ich etwas tiefer in den Umgang mit numerischen Werten eintauchen.
Beachten Sie, dass dieser Abschnitt in der Praxis nur selten behandelt wird und
Es scheint, dass der Fokus auf einer kleinen theoretischen Geschichte liegen wird.
Wenn Sie jedoch in Betracht ziehen, die IT-Passprüfung oder die Prüfung zum Basic Information Engineer abzulegen, wird der Inhalt von der Grundtheorie abgedeckt. Lesen Sie sie daher bitte **.
Wie in "Kapitel 02-01" erläutert, können die numerischen Werte wie folgt unterteilt werden.
Darin möchte ich etwas tiefer in die "Ganzzahl" eintauchen.
Die Zahlen, mit denen wir normalerweise umgehen, sind ** Dezimalzahlen **. Die numerischen Werte werden tatsächlich unter Verwendung von 10 Arten von Zahlen ausgedrückt, "0", "1", "2", "3", "4", "5", "6", "7", "8" und "9".
Der Computer verarbeitet jedoch nur zwei, "0" oder "1". Dies ist ** binär ( Binärzahl) **.
Beispielsweise wird die Dezimalzahl 45 binär als 101101 geschrieben.
Neben Binär- und Dezimalzahlen gibt es auch Oktalzahlen (Oktalzahl) und Hexadezimalzahlen (Hexadezimalzahlen) als häufig verwendete N-Zahlen.
Zunächst möchte ich über die Konvertierung zwischen Binär- und Dezimalzahlen sprechen. (Wenn Sie verstehen, können Sie es überspringen)
Ziehen Sie in Betracht, die Binärzahl 101101 zu konvertieren. Ich habe diese Binärzahlen in der folgenden Tabelle zusammengefasst.
Nummer | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|
Binärzahl | 1 | 0 | 1 | 1 | 0 | 1 |
In der obigen Tabelle wird jeder Nummer eine Nummer zugewiesen. Außerdem habe ich es gewagt, 0, 1, 2, 3, 4, 5 von rechts zuzuweisen. Beachten Sie diese Nummer, da sie später wichtig sein wird.
In der obigen Tabelle fügen wir nun jeder Ziffer ** Gewichte ** hinzu. Das Gewicht ist N multipliziert mit der Nummer jeder Ziffer, wie z. B. Nm für N-beliebige Zahlen. In der folgenden Tabelle finden Sie eine Zusammenfassung der Bedeutung.
Nummer | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|
Binärzahl | 1 | 0 | 1 | 1 | 0 | 1 |
Gewicht | 25 | 24 | 23 | 22 | 21 | 20 |
Dann multiplizieren Sie diese Gewichte mit jeder Ziffer der Binärzahl und addieren Sie sie wie folgt.
\begin{align}
&(2^{5}×1)+(2^{4}×0)+(2^{3}×1)+(2^{2}×1)+(2^{1}×0)+(2^{0}×1)\\
&=32 + 0 + 8 + 4 + 0 + 1\\
&=45
\end{align}
Wie oben erwähnt, konnte ich die Dezimalzahl finden.
Schauen wir uns nun die Konvertierung von dezimal nach binär an. Lassen Sie uns die Dezimalzahl 45 in eine Binärzahl ändern.
Teilen Sie im Allgemeinen einen Dezimalwert in N-ary durch N und finden Sie den Rest von jedem. Dieses Mal wird es in eine Binärzahl konvertiert. Teilen Sie es also wie unten gezeigt durch 2. Wenn Sie 45 durch 2 teilen, erhalten Sie 22 Quotienten, die übrig bleiben. Schreiben Sie sie also nach rechts.
45÷2=22 ・ ・ ・ 1
Wenn Sie 22 durch 2 teilen, ist der Quotient 11 und teilbar. In diesem Fall berücksichtigen Sie ** 0 Überschuss ** wie unten gezeigt.
22÷2=11 ・ ・ ・ 0
Wenn Sie dies wiederholen, wird es wie folgt sein. Um eine Binärzahl zu finden, wird häufig die Umkehrung der Division berechnet.
Am Ende sind zu viele "0" und "1" rechts geschrieben, aber ich werde sie in der Reihenfolge von unten anordnen.
Dann wurde es "101101" und ich konnte die Binärzahl der Dezimalzahl 45 finden.
Wie oben erwähnt, werden Zahlen in Dezimalzahlen unter Verwendung von 10 Arten von Zahlen ausgedrückt: "0", "1", "2", "3", "4", "5", "6", "7", "8" und "9". ..
Es ist vorhersehbar, dass acht Zahlen mit acht Arten von Zahlen ausgedrückt werden: "0", "1", "2", "3", "4", "5", "6" und "7". Was wird passieren?
Nach "9" folgen "10", "11", "12", "13", "14" und "15", aber dann ist "15" wirklich "15", "1" und "5". Ich weiß nicht, ob sie zusammenkleben.
Daher werden ** Hexadezimalzahlen mit a bis f ausgedrückt, wie in der folgenden Tabelle gezeigt **.
Binärzahl | 8 Basis | Dezimalzahl | Hexadezimal |
---|---|---|---|
0000 | 0 | 0 | 0 |
0001 | 1 | 1 | 1 |
0010 | 2 | 2 | 2 |
0011 | 3 | 3 | 3 |
0100 | 4 | 4 | 4 |
0101 | 5 | 5 | 5 |
0110 | 6 | 6 | 6 |
0111 | 7 | 7 | 7 |
1000 | 10 | 8 | 8 |
1001 | 11 | 9 | 9 |
1010 | 12 | 10 | a |
1011 | 13 | 11 | b |
1100 | 14 | 12 | c |
1101 | 15 | 13 | d |
1110 | 16 | 14 | e |
1111 | 17 | 15 | f |
Binärzahlen sind beim Schreiben unweigerlich lang. Wenn Sie sie also hexadezimal ausdrücken, haben Sie den Vorteil, dass Sie die Länge komprimieren und leichter sehen können.
Betrachten Sie beispielsweise die Darstellung der Hexadezimalzahl "5c2" in Dezimalzahl. Dies wird auch anhand einer Tabelle berücksichtigt. Da c aus der obigen Tabelle 12 ist, berechnen Sie mit 12 wie unten gezeigt.
Nummer | 2 | 1 | 0 |
---|---|---|---|
Hexadezimal | 5 | c (12) |
2 |
Gewicht | 162 | 161 | 160 |
Fügen Sie dies mit dem gleichen Gewicht wie bei Binärzahlen hinzu.
\begin{align}
&(16^{2}×5)+(16^{1}×12)+(16^{0}×2)\\
&=1280 + 192 + 2 \\
&=1474
\end{align}
Im Gegensatz dazu ist für die Konvertierung von dezimal nach hexadezimal der Rest geteilt durch 16 wie unten gezeigt angeordnet.
Dann wurde es "5c2" und ich konnte die Hexadezimalzahl der Dezimalzahl 1474 finden.
Teilen Sie bei Oktalzahlen durch 8 und ordnen Sie die Reste auf die gleiche Weise an.
Bisher haben wir es als binär, oktal, dezimal und hexadezimal behandelt, aber haben wir es nicht mit anderen ternären und quintischen Zahlen zu tun?
Tatsächlich existieren sowohl ternäre als auch Quintuplettnummern, aber sie werden selten verwendet. Die Methode zum Auffinden entspricht der Division der Dezimalzahl durch 3.
Tatsächlich sind Binärzahlen mit Oktal- und Hexadezimalzahlen kompatibel und können sofort erhalten werden, wie in der obigen Tabelle gezeigt. Wie oben erwähnt, wird die Notation, da sie lang ist, wenn es sich um eine Binärzahl handelt, häufig verwendet, um sie mit einer Hexadezimalzahl zu konvertieren und für eine einfache Anzeige zu komprimieren.
Wenn Sie beispielsweise die Binärzahl "00101101" so wie sie ist in eine Hexadezimalzahl konvertieren möchten, können Sie die Binärzahl konvertieren, indem Sie sie in vier Teile teilen und die Hexadezimalzahl aus der obigen Tabelle ermitteln.
0010 1101 = 2d
Jetzt möchte ich dies mit Python konvertieren. Dieses Mal werde ich die Verwendung von ** Python Console ** erklären.
Ich werde anhand der numerischen Werte im vorherigen Beispiel erklären. Betrachten Sie zunächst die Konvertierung von binär, oktal und hexadezimal in dezimal. Geben Sie den Code wie unten gezeigt ein. Von oben wird es in der Reihenfolge von Binär, Achteck und Hexadezimal in Dezimal konvertiert.
>>>bin(45)
'0b101101'
>>>oct(45)
'0o55'
>>>hex(1474)
'0x5c2'
Sie können mit ** bin function ** in binär, mit ** oct function ** in oktal und mit ** hex function ** in hexadezimal konvertieren. In Bezug auf das Ausgabeergebnis steht 0b (Null Biene) für Binär (Binärzahl), 0o (Null o) für Oktal und 0x (Null X) für Hexadezimal (Hexagonalzahl).
Lassen Sie uns nun im Gegenteil sehen, wie Binär-, Oktal- und Hexadezimalzahlen in Dezimalzahlen umgewandelt werden können. Geben Sie den Code wie unten gezeigt ein.
>>>0b101101
45
>>>0o55
45
>>>0x5c2
1474
Fügen Sie einfach "0b", "0o" und "0x" vor den Zahlen hinzu, die Sie konvertieren möchten.
Abschließend werde ich als Ergänzung über Gleitkommazahlen sprechen. Zum Beispiel die folgenden reellen Zahlen
2.718
Wird wie gewohnt geschrieben.
Zusätzlich können große Zahlen und umgekehrt kleine Zahlen unter Verwendung von Exponenten ausgedrückt werden. Zum Beispiel:
3.14 × 10^{3}\\
\\
5.1×10^{-2}
(*) </ font> Die obigen 10 -2 </ sup> lauten wie folgt.
10^{-2}=\frac{1}{10^{2}}
Wenn dies in Python implementiert ist, sieht es wie folgt aus.
>>>3.14e3
3140.0
>>>5.1e-2
0.051
Wobei e3 10 3 </ sup> und e-2 10 -2 </ sup> bedeutet.
Die oben beschriebene Notation von Gleitkommazahlen unter Verwendung von Exponenten wird häufig ** in wissenschaftlichen und technologischen Berechnungen ** verwendet.
Recommended Posts