[Python] Kapitel 02-06 <Zusatz> Grundlagen von Python-Programmen (Umgang mit numerischen Werten)

[Python] Kapitel 02-06 Umgang mit numerischen Werten

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 </ font> ist. Sie können diesen Abschnitt also überspringen.

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

Über numerische Werte

Wie in "Kapitel 02-01" erläutert, können die numerischen Werte wie folgt unterteilt werden.

  • Ganzzahl
    Beispiel) 10, -7, 321 usw. --Floating Point Nummer (reelle Nummer)
    Beispiel) 3,14, -2,718, 6,02 × 10 23 </ sup> usw.

Darin möchte ich etwas tiefer in die "Ganzzahl" eintauchen.

Basis (N-ary)

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.

Umwandlung von Radix

Zunächst möchte ich über die Konvertierung zwischen Binär- und Dezimalzahlen sprechen. (Wenn Sie verstehen, können Sie es überspringen)

Konvertierung von binär nach dezimal

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.

Konvertierung von dezimal nach binär

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.

1.png

Am Ende sind zu viele "0" und "1" rechts geschrieben, aber ich werde sie in der Reihenfolge von unten anordnen.

2.png

Dann wurde es "101101" und ich konnte die Binärzahl der Dezimalzahl 45 finden.

Umgang mit Hexadezimal- und Oktalzahlen

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.

Konvertierung von hexadezimal nach dezimal

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.

3.png

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.

Andere N-ary Zahlen

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

Basiskonvertierung in Python

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.

Über Gleitkommazahlen

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.

Übungsproblem

[1-1] Konvertieren Sie die folgenden Binärzahlen in Dezimalzahlen. (Bitte manuell machen) 10 10001010 11 11111111 1010010111010 Überprüfen Sie die Ergebnisse von [1-2] und [1-1] in der Python-Konsole. [2-1] Konvertieren Sie die folgenden Hexadezimalzahlen in Dezimalzahlen. (Bitte manuell machen) ・ C3 ・ Ff 5 475 Überprüfen Sie die Ergebnisse von [2-2] und [2-1] in der Python-Konsole. [3-1] Konvertieren Sie die folgenden Dezimalzahlen in Binär-, Oktal- und Hexadezimalzahlen. (Bitte machen Sie es von Hand ・ 31 ・ 123 Überprüfen Sie die Ergebnisse von [3-2] und [3-1] in der Python-Konsole.

Zurück zum [Inhaltsverzeichnis Link]

Recommended Posts