LA NUMÉRATION : CODAGE ET CALCULS

TROISIÈME PARTIE

Rappel1/: PROBLÉMATIQUE

Comment les systèmes numériques réalisent-ils les calculs demandés par l'utilisateur ?

Fondamental2/: CODAGE DES ENTIERS RELATIFS

Les nombres ne sont pas toujours des entiers positifs d'où la nécessité d'adopter un code pour le codage des entiers relatifs. Pour cela, on a défini le bit de signe qui prend la valeur 0 ou 1 selon que le nombre est positif ou négatif. Dans un nombre binaire signé, ce bit de signe est le bit de poids fort. Il vaut 1 si le nombre est négatif et 0 si le nombre est positif.

2.1. Dans le tableau N°1 du DR1, entourer le bit de poids fort et indiquer si les nombres proposés sont positifs ou négatifs.

Cette utilisation du bit de signe implique une modification des plus grandes et plus petites valeurs codables avec un mot de n bits.

2.2. Dans le tableau N°2 du DR1, donner les codes binaires des plus petites et plus grandes valeurs s'il n'y a pas de bit de signe (appelé codage non signé - unsigned) d'un mot de 8 bits. En déduire les valeurs décimales correspondantes.

2.3. Dans le tableau N°2, donner les valeurs binaires pour les plus petites et plus grandes valeurs d'un nombre binaire codé sur 8 bits s'il y a un bit de signe (appelé codage signé - signed).

La question qui se pose maintenant est comment trouver la valeur décimale correspondante. Pour cela on, a défini la norme du complément à 2. Pour faire simple :

Etape 1

Nombre binaire signé initial négatif

10000100

Etape 2

On complémente le nombre

01111011

Etape 3

On ajoute 1 avec la technique de l'addition

01111011

+ 1

= 01111100

Etape 4

On obtient la valeur absolue du nombre relatif

124

Etape 5

Le résultat est donc

- 124

Rq : complémenter signifie remplacer les 1 par des 0 et vice versa

2.4. Appliquer la méthode du complément à 2 pour trouver les plus petites et plus grandes valeurs du tableau N°2 du DR1 ; vous réaliserez vos calculs au brouillon.

Fondamental3/: CODAGE DES NOMBRES REELS

La nature n'est pas faite que de nombres entiers relatifs, il faut donc définir une norme pour coder les nombres réels. Cette norme est la norme IEEE 754 . Elle définit la technique de codage des nombres réels.

Pour résumer, n'importe quel nombre réel peut s'écrire sous la forme d'un signe, d'une mantisse ayant une puissance de 10. Pour faire simple, en précision 32 bits, on obtient :

L'écriture du nombre codé est donc donnée sur 32 bits selon l'ordre suivant :

3.1. Sur le DR1, dans le tableau N°3, donner la représentation binaire du nombre +125,34 selon la norme IEEE 754 en codant :

• Le bit de signe,

• L'exposant sur 8 bits ,

• La mantisse sur 23 bits.

Ceci permet de coder des nombres avec une précision de 2-23. Il existe aussi la double précision sur 64 bits et la quadruple précision sur 128 bits pour des applications spécifiques.

Si vous étudiez en détail ce concept, vous découvrirez que cela est un peu plus compliqué et stratégique que cela au niveau de l'exposant ; notamment pour réduire les temps de calculs.

Fondamental4/: UNICODE

Unicode est une technique d'encodage universelle pour encoder les caractères accentués et évolués tels que € ou encore é et bien d'autres. Tous les détails sont donnés sur le site unicode.org.

Sur les DR1 et DR2, répondre aux questions ci-dessous.

4.1. Traduire le slogan du site. Qu'en pensez-vous ?

Ce procédé d'encodage permet d'intégrer tous les caractères du monde et même plus... les émojis notamment ! Il englobe bien-sûr les caractères du code ASCII.

4.2. Préciser le code utilisé pour coder un caractère.

4.3. En utilisant cette page, donner le nombre d'octets désignant les caractères dans le cadre du plan de développement de base nommé plan 0. Expliquer pourquoi ce nombre s'accroît dans le cadre du plan 1.

4.4. Donner la première adresse et la dernière adresse utilisées pour les caractères du langage Kannara appelé aussi Kannada.

Cette page permet d'obtenir le caractère lié à un code.

4.5. Rappeler le code ASCII de G sur 7 bits puis le code en hexadécimal. Rechercher le code Unicode de G.

Rq : et oui, pour simplifier, on a conservé le code ASCII dans le code Unicode.

4.6. Sur la page, tester le code 1F449 et passer à la suite...

Fondamental5/: UNICODE TRANSFORMATION FORMAT UTF-8

UTF-8 est une norme d'encodage des caractères, utilisée couramment pour les échanges Internet.

UTF-8 garantit une interprétation de tous les caractères Unicode, le plus simplement et en assurant la compatibilité avec tous les systèmes. Il permet notamment de ne transmettre que le nombre d'octets nécessaire et de réduire ainsi les besoins en termes de temps de transmission. Illustrons ceci par un petit calcul.

Sachant que le système Unicode est basé sur un nombre maximum de 4 octets pour un caractère.

5.1. En supposant que l'on veut transmettre la suite de caractères STI2D, calculer alors le nombre d'octets nécessaires.

5.2. Préciser si les caractères de STI2D appartiennent au code ASCII. Sur la page, trouver la plage d'adresse Unicode des caractères latin de base (code ASCII).

5.3. Sur la page UTF-8, pour cette plage d'adresse Unicode, donner le nombre d'octets nécessaire pour la transmission d'un caractère. Calculer alors le nombre d'octets nécessaires à la transmission de STI2D avec l'encodage UTF-8.

5.4. Conclure sur l'intérêt d'UTF8 dans la transmission de caractères ASCII.

Fondamental6/ : CONCLUSION

Vous savez maintenant tout sur le codage.

1F393 !

PrécédentPrécédentSuivantSuivant
AccueilAccueilImprimerImprimerRéalisé avec Scenari (nouvelle fenêtre)