Ici, je voudrais approfondir un peu le traitement des valeurs numériques.
Notez que cette section est rarement traitée dans la pratique et qu'elle est
Il semble que l'accent sera mis sur une petite histoire théorique.
Cependant, si vous envisagez de passer l'examen de passeport informatique ou l'examen d'ingénieur de l'information de base, le contenu est couvert par la théorie de base, veuillez donc le lire **.
Comme expliqué au "Chapitre 02-01", les valeurs numériques peuvent être divisées comme suit.
--Integer
Exemple) 10, -7, 321 etc.
--Numéro de point flottant (nombre réel)
Exemple) 3.14, -2.718, 6.02 × 10 23 </ sup>, etc.
En cela, je voudrais creuser un peu plus profondément dans "entier".
Les nombres que nous traitons habituellement sont des ** nombres décimaux **. Les valeurs numériques sont en fait exprimées en utilisant 10 types de nombres, "0", "1", "2", "3", "4", "5", "6", "7", "8" et "9".
Cependant, l'ordinateur ne gère que deux, "0" ou "1". C'est ** binaire ( Nombre binaire) **.
Par exemple, le nombre décimal 45 s'écrit 101101 dans le nombre binaire.
En plus des nombres binaires et décimaux, il existe également des nombres octaux (nombre octal) et des nombres hexadécimaux (hexadécimaux) comme nombres N-aires couramment utilisés.
Tout d'abord, je voudrais parler de la conversion entre les nombres binaires et décimaux. (Si vous comprenez, vous pouvez l'ignorer)
Pensez à convertir le nombre binaire 101101. J'ai résumé ces nombres binaires dans le tableau ci-dessous.
nombre | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|
Nombre binaire | 1 | 0 | 1 | 1 | 0 | 1 |
En regardant le tableau ci-dessus, chaque numéro se voit attribuer un numéro. De plus, j'ai osé attribuer 0, 1, 2, 3, 4, 5 à partir de la droite. Gardez ce nombre à l'esprit car il sera important plus tard.
Maintenant, dans le tableau ci-dessus, nous allons ajouter des ** poids ** à chaque chiffre. Le poids est N multiplié par le nombre de chaque chiffre, tel que N m </ sup> pour les nombres N-aires. Veuillez consulter le tableau ci-dessous pour un résumé de ce que cela signifie.
nombre | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|
Nombre binaire | 1 | 0 | 1 | 1 | 0 | 1 |
poids | 25 | 24 | 23 | 22 | 21 | 20 |
Ensuite, multipliez ces poids par chaque chiffre du nombre binaire et ajoutez-les comme suit.
\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}
Comme mentionné ci-dessus, j'ai pu trouver le nombre décimal.
Regardons maintenant la conversion du décimal au binaire. Changeons le nombre décimal 45 en nombre binaire.
En général, divisez une valeur décimale par N en N-aire et trouvez le reste de chacune. Cette fois, il est converti en nombre binaire, divisez-le par 2 comme indiqué ci-dessous. Diviser 45 par 2 donne un quotient de 22, et il y a un surplus de 1, alors écrivez-le à droite.
45÷2=22 ・ ・ ・ 1
De plus, si vous divisez 22 par 2, le quotient sera 11 et divisible. Dans ce cas, considérez ** 0 surplus ** comme indiqué ci-dessous.
22÷2=11 ・ ・ ・ 0
Si vous répétez ceci, ce sera comme suit. Souvent, pour trouver un nombre binaire, l'inverse de la division est souvent calculé.
À la fin, il y a trop de "0" et "1" écrits sur la droite, mais je vais les organiser dans l'ordre du bas.
Ensuite, il est devenu "101101", et j'ai pu trouver le nombre binaire du nombre décimal 45.
Comme mentionné ci-dessus, en nombres décimaux, les nombres sont exprimés en utilisant 10 types de nombres: "0", "1", "2", "3", "4", "5", "6", "7", "8" et "9". ..
Huit nombres sont prévisibles pour être exprimés en utilisant huit types de nombres, «0», «1», «2», «3», «4», «5», «6» et «7». Que va-t-il se passer?
Après "9", "10", "11", "12", "13", "14" et "15" suivent, mais alors "15" est vraiment "15", "1" et "5" Je ne sais pas s'ils sont collés ensemble.
Par conséquent, ** les nombres hexadécimaux sont exprimés en utilisant a à f comme indiqué dans le tableau ci-dessous **.
Nombre binaire | 8 base | Nombre décimal | Hexadécimal |
---|---|---|---|
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 |
Les nombres binaires sont inévitablement longs lorsqu'ils sont écrits, donc les exprimer en hexadécimal a l'avantage de pouvoir compresser la longueur et de la rendre plus facile à voir.
Par exemple, envisagez de représenter le nombre hexadécimal "5c2" en décimal. Ceci est également envisagé en utilisant un tableau. Puisque c est 12 dans le tableau ci-dessus, calculez avec 12 comme indiqué ci-dessous.
nombre | 2 | 1 | 0 |
---|---|---|---|
Hexadécimal | 5 | c (12) |
2 |
poids | 162 | 161 | 160 |
Ajoutez ceci en le pondérant de la même manière que dans le cas des nombres binaires.
\begin{align}
&(16^{2}×5)+(16^{1}×12)+(16^{0}×2)\\
&=1280 + 192 + 2 \\
&=1474
\end{align}
Au contraire, pour la conversion de décimal en hexadécimal, le reste divisé par 16 est organisé comme indiqué ci-dessous.
Ensuite, il est devenu "5c2", et j'ai pu trouver le nombre hexadécimal du nombre décimal 1474.
Dans le cas des nombres octaux, divisez par 8 et arrangez les restes de la même manière.
Jusqu'à présent, nous l'avons traité comme binaire, octal, décimal et hexadécimal, mais ne traitons-nous pas d'autres nombres ternaires et quintiques?
En fait, les nombres ternaires et quintuplés existent, mais ils sont rarement utilisés. La méthode pour le trouver est la même que la division du nombre décimal par 3.
En fait, les nombres binaires sont compatibles avec les nombres octaux et hexadécimaux, et peuvent être obtenus immédiatement comme indiqué dans le tableau ci-dessus. Comme mentionné ci-dessus, étant donné que la notation devient longue lorsqu'il s'agit d'un nombre binaire, elle est souvent utilisée pour la convertir en utilisant un nombre hexadécimal et la compresser pour une visualisation facile.
Par exemple, si vous souhaitez convertir le nombre binaire "00101101" en un nombre hexadécimal tel quel, vous pouvez convertir le nombre binaire en le divisant en quatre et trouver le nombre hexadécimal dans le tableau ci-dessus.
0010 1101 = 2d
Maintenant, je voudrais convertir cela en utilisant Python. Cette fois, je vais vous expliquer l'utilisation de ** Python Console **.
J'expliquerai en utilisant les valeurs numériques dans l'exemple précédent. Tout d'abord, considérez la conversion de binaire, octal et hexadécimal en décimal. Entrez le code comme indiqué ci-dessous. À partir du haut, il est converti en décimal dans l'ordre binaire, octogonal et hexadécimal.
>>>bin(45)
'0b101101'
>>>oct(45)
'0o55'
>>>hex(1474)
'0x5c2'
Vous pouvez convertir en binaire avec ** fonction bin **, en octal avec ** fonction oct **, et en hexadécimal avec ** fonction hex **. En ce qui concerne le résultat de sortie, 0b (zéro abeille) représente binaire (nombre binaire), 0o (zéro o) représente octal et 0x (zéro X) représente hexadécimal (nombre hexagonal).
Maintenant, au contraire, voyons comment les nombres binaires, octaux et hexadécimaux peuvent être convertis en nombres décimaux. Entrez le code comme indiqué ci-dessous.
>>>0b101101
45
>>>0o55
45
>>>0x5c2
1474
Ajoutez simplement "0b", "0o" et "0x" avant les nombres que vous souhaitez convertir.
Enfin, je parlerai des nombres à virgule flottante en complément. Par exemple, les nombres réels suivants
2.718
Sera écrit comme d'habitude.
De plus, les grands nombres et inversement les petits nombres peuvent être exprimés à l'aide d'exposants. Par exemple:
3.14 × 10^{3}\\
\\
5.1×10^{-2}
(*) </ font> Les 10 -2 </ sup> ci-dessus sont les suivants.
10^{-2}=\frac{1}{10^{2}}
Si cela est implémenté en Python, ce sera comme suit.
>>>3.14e3
3140.0
>>>5.1e-2
0.051
Où e3 signifie 10 3 </ sup> et e-2 signifie 10 -2 </ sup>.
La notation des nombres à virgule flottante à l'aide d'exposants comme décrit ci-dessus est souvent ** utilisée dans les calculs scientifiques et technologiques **.