Outils pour utilisateurs

Outils du site


nsi:premiere:numeration

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
nsi:premiere:numeration [2021/06/30 19:29] goupillwikinsi:premiere:numeration [2024/08/22 13:54] (Version actuelle) goupillwiki
Ligne 1: Ligne 1:
-====== Numération ======+====== Entiers positifs ======
  
 //Il y a 10 sortes de gens, celles qui comprennent le binaire et les autres.// //Il y a 10 sortes de gens, celles qui comprennent le binaire et les autres.//
  
-{{ :nsi:premiere:numeration.eleves.pdf |Fiche de cours à imprimer}} -- {{ :nsi:premiere:numeration.exercices.pdf |Fiche d'exercices à imprimer}}+{{ :nsi:premiere:numeration:numeration.eleves.pdf |Fiche de cours à imprimer}} -- {{ :nsi:premiere:numeration:numeration.exercices.pdf |Fiche d'exercices à imprimer}} -- [[https://diapo.goupill.fr/numeration.html|Diaporama]]
  
-Du point de vue des mathématiques, les nombres $14$, $\frac{28}{2}$, $\sqrt{196}$, $1110_b$ sont tous identiques et il pourra raisonner indépendamment de la façon dont on choisit de les écrire. Toutefois, l'écriture choisie a son importance car certaines écritures sont plus commodes que d'autres. L'informaticien a le même genre de problème : Il doit décider comment il écrira les nombres dans la machine et les choix qu'il fera auront une importance sur les calculs qu'il peut faire.+Du point de vue des mathématiques, les nombres $14$, $\frac{28}{2}$, $\sqrt{196}$, $1110_b$ sont tous identiques et on pourra raisonner indépendamment de la façon dont on choisit de les écrire. Toutefois, l'écriture choisie a son importance car certaines écritures sont plus commodes que d'autres. 
 + 
 +L'informaticien a le même genre de problème : Il doit décider comment il écrira les nombres dans la machine et les choix qu'il fera auront une importance sur les calculs qu'il pourra faire.
  
 La technologie d'aujourd'hui repose sur des quantités **tout ou rien**, ce que l'on traduire par ''1'' ou ''0''. Il est alors naturel que les nombres utilisent l'écriture **binaire** qui n'a besoin que des symboles ''1'' et ''0''. La technologie d'aujourd'hui repose sur des quantités **tout ou rien**, ce que l'on traduire par ''1'' ou ''0''. Il est alors naturel que les nombres utilisent l'écriture **binaire** qui n'a besoin que des symboles ''1'' et ''0''.
Ligne 28: Ligne 30:
 ===== Notion de paquets ===== ===== Notion de paquets =====
  
-//Exercice 1 et 1 bis de la fiche d'exercices.//+//Exercices 1 et 1 bis de la fiche d'exercices.//
  
 Le principe de notre notation des nombres repose sur : Le principe de notre notation des nombres repose sur :
Ligne 43: Ligne 45:
 On constate que l'on a <color #00a2e8>2 paquets bleus</color>, 1 noir et <color #c3c3c3>3 unités</color>. Dans ce cas on fait intuitivement le calcul et on déduit qu'il y a en tout 213 unités. On constate que l'on a <color #00a2e8>2 paquets bleus</color>, 1 noir et <color #c3c3c3>3 unités</color>. Dans ce cas on fait intuitivement le calcul et on déduit qu'il y a en tout 213 unités.
  
-{{ :nsi:premiere:numeration-paquets-10.png?nolink&600 |}}+{{ :nsi:premiere:numeration:numeration-paquets-10.png?nolink&600 |}}
  
 ==== Exemple de la base 4 ==== ==== Exemple de la base 4 ====
Ligne 51: Ligne 53:
 Sur la droite le nouveau découpage montre que nous avons maintenant <color #ed1c24>3 rouges</color>, <color #00a2e8>1 bleu</color>, 1 noir et <color #c3c3c3>1 unité</color>. Sur la droite le nouveau découpage montre que nous avons maintenant <color #ed1c24>3 rouges</color>, <color #00a2e8>1 bleu</color>, 1 noir et <color #c3c3c3>1 unité</color>.
  
-{{ :nsi:premiere:numeration-paquets-4.png?nolink&600 |}}+{{ :nsi:premiere:numeration:numeration-paquets-4.png?nolink&600 |}}
  
 > Notez que la forme du paquet n'a pas d'importance. Le 3e paquet rouge n'est pas carré. L'important est qu'il contient 4x4x4 unités. > Notez que la forme du paquet n'a pas d'importance. Le 3e paquet rouge n'est pas carré. L'important est qu'il contient 4x4x4 unités.
Ligne 70: Ligne 72:
 Donc ici nous avons 3 unités (colonne de droite) plus 1x10 (2e colonne à partir de la droite) plus 2x10x10. Donc 213 = 2x10x10 + 1x10 + 3x1. Donc ici nous avons 3 unités (colonne de droite) plus 1x10 (2e colonne à partir de la droite) plus 2x10x10. Donc 213 = 2x10x10 + 1x10 + 3x1.
  
-Cela à l'air un peu idiot comme cela. C'est que l'on est habitué à manipuler la base 10. Mettre ces mécanismes en évidence permet de mieux comprendre le fonctionnement des autres bases.+Ce calcul peut sembler un peu idiot. C'est que l'on est habitué à manipuler la base 10. Mettre ces mécanismes en évidence permet de mieux comprendre le fonctionnement des autres bases.
  
 ==== Exemple de la base 4 ==== ==== Exemple de la base 4 ====
Ligne 84: Ligne 86:
  
 <WRAP tip> <WRAP tip>
-Remarquez que nous ne savons faire ce calcul qu'en base 10. Le calcul 3x4x4x4 + 1x4x4 + 1x4 + 1x1 = 213 est donc un calcul fait un base 10 et le résultat correspond à ce que nous avions trouvé avec la base 10.+Remarquez que nous ne savons faire ce calcul qu'en base 10. Le calcul 3x4x4x4 + 1x4x4 + 1x4 + 1x1 = 213 est donc un calcul fait en base 10 et le résultat correspond à ce que nous avions trouvé avec la base 10.
 </WRAP> </WRAP>
  
Ligne 118: Ligne 120:
 Exemple de conversion : ''0b101001 = 41''. Exemple de conversion : ''0b101001 = 41''.
  
-{{ :nsi:premiere:numeration-binaire-dec.png?nolink&400 |}}+{{ :nsi:premiere:numeration:numeration-binaire-dec.png?nolink&400 |}}
  
 //Exercice 3 de la fiche d'exercices.// //Exercice 3 de la fiche d'exercices.//
Ligne 126: Ligne 128:
 Exemple de conversion ''0x2B3 = 691'' Exemple de conversion ''0x2B3 = 691''
  
-{{ :nsi:premiere:numeration-hexa-dec.png?nolink&400 |}}+{{ :nsi:premiere:numeration:numeration-hexa-dec.png?nolink&400 |}}
  
 //Exercice 4 de la fiche d'exercices.// //Exercice 4 de la fiche d'exercices.//
Ligne 226: Ligne 228:
 'Le résultat en hexa est 52e' 'Le résultat en hexa est 52e'
 </code> </code>
 +
 +===== Conversion binaire - hexadécimal =====
 +
 +Pourquoi utiliser l'hexadécimal ? Il n'est pas utile pour la machine qui ne comprend que le binaire et il ne semble pas utile pour nous qui préférons les décimal...
 +
 +<WRAP tip>
 +Le fait que $16 = 2^4$ (alors que 10 n'est pas une puissance de 2) fait que la conversion binaire <-> hexadécimal est très simple. De plus, un nombre écrit en hexadécimal sera beaucoup plus court et simple à manipuler pour un humain. **L'hexadécimal est une manière commode, pour l'humain, de manipuler des nombres binaires.**
 +</WRAP>
 +
 +//Exercice 9 de la fiche d'exercices.//
 +
 +<WRAP important>
 +Pour passer de l'hexadécimal au binaire ou réciproquement, **ne passez pas par le décimal** ! Cela irait à l'encontre de ce qui fait l'intérêt de l'hexadécimal. La conversion doit se faire de tête, rapidement, sans calcul.
 +</WRAP>
 +
 +{{ :nsi:premiere:numeration:numeration-hexa-bin.png?nolink&600 |}}
 +
 +Ci-dessus, l'exemple de ''0b10110001101001''. On regroupe les chiffres par 4 en partant de la droite. On ajoute des ''0'' à gauche au besoin. Chaque bloc de 4 correspond à un symbole hexadécimal.
 +
 +Par exemple, $1100_b = 12 = C_x$.
 +
 +Dans l'exemple, ''%%0b10110001101001 = 0x2C69%%'' et **il n'est pas utile de savoir ce que cela vaut en décimal !**
 +
 +===== Occupation mémoire ======
 +
 +Le plus petit élément de mémoire dans une machine est un chiffre binaire : le //binary element//, le **bit**.
 +
 +Il faut plusieurs chiffres pour former des nombres. On regroupe donc les bits pour former des **mots binaires**.
 +
 +<WRAP tip>
 +On préfère parler de **mot binaire** que de **nombre binaire**. En effet, ces groupes de bits peuvent représenter des choses très diverses et ils ne correspondent pas forcément à des nombres. Dans une machine, les images, les textes, les sons... tout est représenté en binaire.
 +</WRAP>
 +
 +==== Byte et octet ====
 +
 +<WRAP info>
 +En 1956, Werner Buchholz désigne le mot binaire par une « bouchée », soit //bite// en anglais. Ce mot étant trop proche de bit, il le déforme en **Byte**. Le Byte ne contenait pas forcément 8 bits à
 +l'époque. L'usage s'est répandu d'utiliser des mots de 8 bits si bien que petit à petit, Byte est devenu synonyme d' octet.
 +</WRAP>
 +
 +La technologie a fait de l'octet la mesure de base. Aujourd'hui encore le chiffre 8 revient beaucoup. Par exemple les [[https://fr.wikipedia.org/wiki/Consoles_de_jeux_vid%C3%A9o_de_troisi%C3%A8me_g%C3%A9n%C3%A9ration|consoles de jeux de 3e génération]] vers 1983 étaient en 8 bits -- NES, Sega Master System, Atari 7800. Cela signifie qu'à chaque lecture de la mémoire, on obtenait un mot de 8 bits, un octet.
 +
 +Puis mes [[https://fr.wikipedia.org/wiki/Consoles_de_jeux_vid%C3%A9o_de_quatri%C3%A8me_g%C3%A9n%C3%A9ration|console de 4e génération]] vers 2000 étaient en 16 bits -- Super NES, Méga Drive...
 +
 +Ensuite à la [[https://fr.wikipedia.org/wiki/Consoles_de_jeux_vid%C3%A9o_de_cinqui%C3%A8me_g%C3%A9n%C3%A9ration|5e génération]], on passe à 32 et 64 bits -- Nintendo 64, Playstation...
 +
 +//Exercice 8 de la fiche d'exercices//
 +
 +<WRAP tip>
 +En Python, les entiers, ''%%int%%'' occupent 4 octets. Ils pourraient donc aller en principe de 0 à $2^{32}-1$. Mais la représentation des nombres entiers n'est pas en binaire naturel. En effet, il faut pouvoir représenter le symbole -- pour les nombres négatifs ! Donc les entiers pourront aller de $-2^{31}$ à $2^{31}-1$ -- [[nsi:premiere:ca2|cf. cours sur les entiers négatifs.]]
 +
 +Mais Python étant un langage très confortable, si on fait un calcul nécessitant des entiers plus grands, il passe automatiquement dans un format d'entiers de taille arbitraire qui utilise autant d'octets que nécessaire. Le calcul s'en trouve ralenti, il ne faut donc pas en abuser, mais c'est très pratique pour certains calculs mathématiques !
 +</WRAP>
 +
 +<code python>
 +>>> 2**100
 +1267650600228229401496703205376
 +</code>
 +
 +==== Unités de capacité mémoire ====
 +
 +En informatique, on aime utiliser les puissances de 2 et on sait que $2^{10} = 1024 \simeq 1000$ ce qui a amené des confusions.
 +
 +<WRAP tip>
 +Les organismes de normes on donc défini en 1998 :
 +  * le kilo-octet : $1 \text{ko} = 1000$ octets\\ le kibi-octet : $1 \text{kio} = 1024$ octets,
 +  * le Méga-octet : $1 \text{Mo} = 1000 \times 1000$ octets\\ le Mébi-octet : $1 \text{Mio} = 1024 \times 1024$ octets.
 +</WRAP>
 +
 +La confusion perdure néanmoins et on peut parfois lire Ko à la place de kio .
 +
 +L'usage est également de noter B pour Byte et b pour bit. Il ne faut donc pas confondre kB et kb.
 +
 +Enfin, il faut utiliser k pour kilo, même si on voit souvent écrit K à la place.
 +
 +//Exercice 10 de la fiche d'exercices.//
nsi/premiere/numeration.1625074174.txt.gz · Dernière modification : de goupillwiki