6 ICN : Du langage informatique au cerveau humain Nom de l'élève : Classe : Table des matières 6 ICN : Du langage informatique au cerveau humain...1 6.1- Stockage d information par les systèmes informatiques...2 6.2- Notre système de numération habituel, le système décimal (base 10)...3 6.3- Le système de numération de l ordinateur, le système binaire (base 2)...4 6.4- Un système de numération compact pour noter le code binaire, le système hexadécimal (base 16)...5 6.5- Bilan : valeur des différents caractères selon leur rang dans un nombre et selon le système de numération...6 6.6- Conversions de base 2 ou 16 en base 10...7 6.7- Conversion de base 2 en base 16 et réciproquement...8 à savoir sans documentation à savoir faire avec documentation Objectif Manipuler des nombres en base 2 et en base 16 Taches proposées pour atteindre l objectif Identifier la base probable utilisée pour écrire un nombre Compter en base 2 et en base 16 Convertir des nombres d une base dans une autre Partir d un fichier binaire et remonter aux contenus cacher du texte dans l image (cf 4demiTexteCacheDevallois.bmp, devallois caché) cacher une image dans une image (1 pixel signifiant tous les 50 pixels par exemple avec un texte explicatif crypté au début de l image) taille des secteurs informatiques 1 Sur 8
6.1- Stockage d information par les systèmes informatiques Comment coder des informations dans un système informatique? Les processeurs des ordinateurs actuels sont composés de transistors ne gérant chacun que deux états, l état 0 (le courant ne passe pas) et l état 1 (le courant passe). En informatique, ces 2 états sont codés par des 0 et des 1 et un calcul n'est donc qu'une suite d'opérations sur des paquets de 0 et de 1. Une unité d information est appelée un bit (binary-digit = rang binaire) et ne peut donc prendre que 2 valeurs, 0 ou 1. Les systèmes numériques traitent exclusivement des informations réduites en bits. Nombre de bits et informations stockables : Plus on utilise un grand nombre de bits, plus on peut stocker d information. Le nombre de bits utilisés détermine le nombre d informations différentes que l on peut stocker. 1 bit = 2 1 possibilités 2 bits = 2 2 possibilités 3 bits = 2 3 possibilités 0 1 0 1 0 00 1 01 0 10 1 11 8 bits = 2 8 possibilités = 256 possibilités = 1 octet. Si je dispose d'un seul bit, j'ai 2 combinaisons (valeurs) à ma disposition, 1 ou 0, je peux donc stocker 2 informations différentes (noir ou blanc, oui ou non, réussite ou échec ). Si je dispose de 2 bits, j'ai 4 combinaisons (valeurs) à ma disposition (00, 01, 10, 11), je peux donc stocker 4 informations différentes (blond, brun roux, blanc par exemple). Activité 1 à 2 élèves : élève 1 : indique le nombre de bits élève 2 : calcule le nombre combinaisons possibles compte tenu du nombre de bits disponibles élèves 1 et 2 : calculer le nombre de possibilités avec 4 bits puis écrire toutes les possibilités L octet, unité de mesure de la quantité d information stockée : 8 bits = 1 octet Exemple : 00000000 Différents multiples de l octet sont utilisés couramment pour indiquer les tailles de fichiers, les capacités des mémoires vives ou des disques durs. 1000 octets = 1 Kilooctet = 10 3 octets = 1 ko 1 000 000 d octets = 1 Mégaoctet = 10 6 octets = 1 Mo 1 000 000 000 d octets = 1 Gigaoctet = 10 9 octets = 1 Go Noter que la très grande majorité des disques durs sont divisés et adressables en secteurs de 512 octets soit 512 X 8 = 4096 bits. L usage des unités ci-dessus basée sur des puissances de 10 n est donc pas forcément pertinente dans la mesure ou elle ne permet pas de mesurer précisément la quantité d information stockable sur le disque dur. Une autre série d unités utilisant les puissance de 2 a donc été définie. 1 024 octets = 1 kibioctet (Kio) = 2 10 octets = 1 kio 1 048 576 octets = 1 mébioctet (Mio) = 2 20 octets = 1 Mio 1 073 741 824 octets = 1 gibioctet (Gio) = 2 30 octets = 1 Gio 2 Sur 8
6.2- Notre système de numération habituel, le système décimal (base 10) En base 10 (système décimal) sont utilisés 10 caractères de base : Caractère 0 1 2 3 4 5 6 7 8 9 Valeur 0 1 2 3 4 5 6 7 8 9 Un nombre en base 10 est donc composé des chiffres 0 à 9. 125189 035648 9586201 Lorsque la valeur maximale (9) est atteinte, il faut changer de rang. Ce changement a lieu pour la valeur 10 dans notre système de comptage habituel, d où le nom de base 10. La valeur 10 s écrit alors 10. Cela implique que, dans un nombre décimal, chaque chiffre à un poids qui est une puissance de 10. La puissance à utiliser dépend du rang du chiffre : Poids du chiffre 1 en base 10 10 3 10 2 10 1 10 0 Le nombre 10 en base 10 peut se décomposer en 1 X 10 1 + 0 X 10 0 Calcul de sa valeur dans le système décimal : et vaut 10 + 0 = 10 dans le système décimal. Le nombre 48 en base 10 peut se décomposer en 4 X 10 1 + 8 X 10 0 Calcul de sa valeur dans le système décimal : et vaut 40 + 8 = 48 dans le système décimal. Activité 2 seul: Les nombres suivants sont en base 10. 10 100 1000 1001 1111 54 592 4932 Les écrire en en utilisant une décomposition en puissances de 10 comme dans l exemple. Faire vérifier. 3 Sur 8
6.3- Le système de numération de l ordinateur, le système binaire (base 2) En base 2 (système binaire) sont utilisés 2 caractères de base : Caractère 0 1 Valeur 0 1 Un nombre en base 2 est donc composé des chiffres 0 à 1. 0110 10111 100100 Lorsque la valeur maximale (1) est atteinte, il faut changer de rang. Ce changement a lieu pour la valeur 2 dans notre système de comptage habituel, d où le nom de base 2. La valeur 2 s écrit alors 10. Cela implique que, dans un nombre binaire, chaque chiffre à un poids qui est une puissance de 2. Comme en base 10, la puissance à utiliser dépend du rang du chiffre : Poids du chiffre 1 en base 2 2 3 2 2 2 1 2 0 Le nombre 10 en base 2 peut se décomposer en 1 X 2 1 + 0 X 2 0 Calcul de la valeur dans le système décimal : et vaut 2 + 0 = 2 dans le système décimal. Le nombre 11 en base 2 peut se décomposer en 1 X 2 1 + 1 X 2 0 Calcul de la valeur dans le système décimal : et vaut 2 + 1 = 3 dans le système décimal. Activité 3 seul: Les nombres suivants sont en base 2. 10 100 1000 1001 1111 Les écrire en en utilisant une décomposition en puissance de 2 comme dans l exemple. Donner leur valeur dans le système décimal. Vérifier sur : «http://sebastienguillon.com/test/javascript/convertisseur.html» Faire d autres essais tant que vous n êtes pas à l aise. Avantage du système binaire: Il représente exactement ce que fait l ordinateur. Inconvénient du système binaire : sa longueur. 4 Sur 8
6.4- Un système de numération compact pour noter le code binaire, le système hexadécimal (base 16) En base 16 (système hexadécimal) sont utilisés 16 caractères de base : Caractère 0 1 2 3 4 5 6 7 8 9 A B C D E F Valeur 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Un nombre en base 16 est donc composé des symboles 0 à 9 et A à F. A12E 12E3 56AD Lorsque la valeur maximale (15) est atteinte, il faut changer de rang. Ce changement a lieu pour la valeur 16 dans notre système de comptage habituel, d où le nom de base 16. La valeur 16 s écrit alors 10. Cela implique que, dans un nombre hexadécimal, chaque chiffre à un poids qui est une puissance de 16. Comme en base 10, la puissance à utiliser dépend du rang du chiffre : Poids du chiffre 1 en base 16 16 3 16 2 16 1 16 0 Le nombre 10 en base 16 peut se décomposer en 1 X 16 1 + 0 X 16 0 Calcul de la valeur dans le système décimal : et vaut 16 + 0 =16 dans le système décimal. Le nombre A8 en base 16 peut se décomposer en A X 16 1 + 8 X 16 0 Calcul de la valeur dans le système décimal : et vaut 160 + 8 = 168 dans le système décimal. Activité 4 seul: Les nombres suivants sont en base 16. 10 100 1000 1001 1111 54 592 4932 F45 Les écrire en en utilisant une décomposition en puissance de 16 comme dans l exemple. Donner leur valeur dans le système décimal.vérifier sur : «http://sebastienguillon.com/test/javascript/convertisseur.html» Faire d autres essais tant que vous n êtes pas à l aise. Avantages du système hexadécimal : Sa compacité par rapport au système décimal et surtout au système binaire. La facilité de conversion en/depuis le système binaire. 5 Sur 8
6.5- Bilan : valeur des différents caractères selon leur rang dans un nombre et selon le système de numération Dans un nombre, le rang est la position d un chiffre dans le nombre à partir de la droite. Plus le rang est faible plus le poids du chiffre est faible. Le poids du chiffre 1 est égal à : poids = base rang On parle de système de numération positionnel, la position d un chiffre dans le nombre est importante puisqu elle définit un poids. Poids du chiffre 1 En base 10 10 3 10 2 10 1 10 0 En base 2 2 3 2 2 2 1 2 0 En base 16 16 3 16 2 16 1 16 0 En base X, chaque position successive vers la gauche indique une valeur X fois plus importante que celle juste à droite: En notation binaires En notation décimale Rang 7 6 5 4 3 2 1 0 caractère 1 1 1 1 1 1 1 1 Valeur 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 Valeur 128 64 32 16 8 4 2 1 Rang 7 6 5 4 3 2 1 0 caractère 1 1 1 1 1 1 1 1 Valeur 10 7 10 6 10 5 10 4 10 3 10 2 10 1 10 0 Valeur 10 000 000 1 000 000 100 000 10 000 1 000 100 10 1 En notation hexadécimale Rang 7 6 5 4 3 2 1 0 caractère 1 1 1 1 1 1 1 1 Valeur 16 7 16 6 16 5 16 4 16 3 16 2 16 1 16 0 Valeur 268 435 456 16 777 216 1 048 576 65 536 4 096 256 16 1 Activité 5 à 2 élèves: élève 1 : donne un nombre. élève 2 : identifie les bases possibles pour ce nombre. Échanger les rôles et répéter tant que les 2 élèves ne sont pas à l aise. Connaissant le rang d un chiffre dans un nombre et la base d écriture de ce nombre, il est possible de calculer la valeur de ce chiffre. Activité 6 à 2 élèves: élève 1 : écrit un nombre dans une base définie, indique un caractère du nombre. élève 2 : indique le rang du caractère, le poids affecté à ce rang et la valeur du caractère dans le système décimal. donne la valeur du nombre dans le système décimal. Échanger les rôles et répéter tant que les 2 élèves ne sont pas à l aise. 6 Sur 8
6.6- Conversions de base 2 ou 16 en base 10 D un nombre de la base 2 vers la base 10 Rappels sur la base 2 Nombre 1 1 1 1 Valeur, écriture 1 2 3 2 2 2 1 2 0 Valeur, écriture 2 8 4 2 1 Applications Nombre (exemple) 1 0 1 0 Valeur, écriture 1 1 X 8 0 X 4 1 X 2 0 X 1 Valeur, écriture 2 8 0 2 0 Valeur en base 10 8 + 2 = 10 D un nombre de la base 16 vers la base 10 Rappels sur la base 2 Position 3 2 1 0 Nombre 1 1 1 1 Valeur, écriture 1 16 3 16 2 16 1 16 0 Valeur, écriture 2 4096 256 16 1 Applications Nombre (exemple) 8 A 0 C Valeur, écriture 1 8 X 4096 10 X 256 0 X 16 12 X 1 Valeur, écriture 2 32768 2560 0 12 Valeur en base 10 32768 + 2560 + 12 = 35340 Niveau 1 : Connaissant un nombre et la base d écriture de ce nombre, il est possible de convertir un nombre d une base dans une autre. Niveau 2 : Connaissant un nombre et la base d écriture de ce nombre, il est possible de convertir un nombre d une base dans une autre. Activité 7 à 2 élèves: élève 1 : indique un nombre, indique la base d écriture. élève 2 : convertit le nombre dans le système décimal.vérifier sur : «http://sebastienguillon.com/test/javascript/convertisseur.html» échanger les rôles et faire d autres essais tant que vous n êtes pas à l aise. 7 Sur 8
6.7- Conversion de base 2 en base 16 et réciproquement Les bits d informations ne peuvent prendre que 2 valeurs, 1 ou 0. La notation binaire, ne comportant que ces 2 caractères se prête donc parfaitement à l écriture de la valeur des bits d information. Mais, l utilisation de cette notation conduit à des chiffres très grands et donc peu pratiques à manipuler. Un chiffre hexadécimal représente 4 chiffres (bits) binaires. décimal binaire hexadécimal 8 4 2 1 0 0 0 0 0 0 1 0 0 0 1 1 2 0 0 1 0 2 3 0 0 1 1 3 4 0 1 0 0 4 5 0 1 0 1 5 6 0 1 1 0 6 7 0 1 1 1 7 8 1 0 0 0 8 9 1 0 0 1 9 10 1 0 1 0 A 11 1 0 1 1 B 12 1 1 0 0 C 13 1 1 0 1 D 14 1 1 1 0 E 15 1 1 1 1 F Dès lors, la conversion binaire / hexadécimale est réalisable pour peu qu on dispose du tableau ci-dessus. Nombre binaire 1 0 0 0 1 1 1 1 conversion en base 10 128 0 0 0 8 4 2 1 128+8+4+2+1 = 143 Équivalent hexadécimal 8 F Valeur en base 10 8 X 16 1 = 128 15 conversion en base 10 128+15 = 143 D'où son emploi très développé en informatique, car plus compact que le binaire et plus facile à écrire. (voir adresses Mac) Activités 7 à 2 élèves: élève 1 : indique un nombre hexadecimal à 1, 2 ou 3 caractères. élève 2 : convertit le nombre en base 2. élève 1 : indique un nombre en base 2 à 4, 8 ou 12 caractères. élève 2 : convertit le nombre en base 16. échanger les rôles et faire d autres essais tant que vous n êtes pas à l aise. 8 Sur 8