Introduction au Codage Binaire
Introduction au Codage Binaire
Sommaire
I. Définitions ---------------------------------------------------------------------------------------------------------- 2
Qu’est-ce qu’un codage ? ----------------------------------------------------------------------------------- 2
Codage binaire ------------------------------------------------------------------------------------------------- 2
Binary digit ----------------------------------------------------------------------------------------------------- 2
Octet, Mot, Double mot ------------------------------------------------------------------------------------- 2
II. Unités de mesure ------------------------------------------------------------------------------------------------- 3
III. Représentation des nombres entiers et réels ------------------------------------------------------------- 4
Représentation des nombres entiers naturels --------------------------------------------------------- 4
Représentation des nombres entiers relatifs ----------------------------------------------------------- 4
Représentation des nombres réels ----------------------------------------------------------------------- 8
IV. Représentation des caractères ------------------------------------------------------------------------------ 10
Code ASCII ----------------------------------------------------------------------------------------------------- 10
Code ASCII étendu ------------------------------------------------------------------------------------------ 10
Le code EBCDIC ---------------------------------------------------------------------------------------------- 11
Unicode -------------------------------------------------------------------------------------------------------- 11
V. Autres codages -------------------------------------------------------------------------------------------------- 12
Codage BCD --------------------------------------------------------------------------------------------------- 12
Codage gray--------------------------------------------------------------------------------------------------- 13
Annexe ------------------------------------------------------------------------------------------------------------------- 15
Références : www.editions-ellipses.fr
www .commentcamarche.com
www.positron-libre.com
www.wikipedia.com
Cours_S1_S1.2_P1
Etablissement Lycée technique - Settat
Filière BTS
Semestre 1
Partie 1 : Codage de l’information Définitions
I. Définitions
Qu’est-ce qu’un codage ?
Permet d’établir une correspondance qui permet sans ambiguïté de passer d’une représentation (dite
externe) d’une information à une autre représentation (dite interne : sous forme binaire) de la même
information, suivant un ensemble de règle précise ; Par exemple à 6 dans le système décimal
correspond 0110 dans le système binaire. Souvent, on appelle codage (ou encodage), l’opération qui
consiste à convertir une donnée quelconque en une grandeur binaire. L’opération inverse s’appelle
décodage. Enfin lorsque la conversion se fait entre deux grandeurs binaires, on parle de transcodage.
Codage binaire
Vers la fin des années 30, Claude Shannon démontra qu'à l'aide de « contacteurs » (interrupteurs)
fermés pour « vrai » et ouverts pour « faux » il était possible d'effectuer des opérations logiques en
associant le nombre 1 pour « vrai » et 0 pour « faux ».
Ce codage de l'information est nommé codage binaire. C'est avec ce codage que fonctionnent les
ordinateurs, puisque ces derniers sont constitués de circuits électroniques (bistables) qui ne possèdent
que deux états stables : fermé ou ouvert, chargé ou déchargé etc... Ce codage consiste à utiliser deux
états (représentés par les chiffres 0 et 1) pour coder les informations quel que soit sa nature (image,
nombres, texte, son …).
2
Partie 1 : Codage de l’information Définitions
Pour un octet, le plus petit nombre est 0 (représenté par huit zéros 00000000), et le plus grand est 255
(représenté par huit chiffres « un » 11111111), ce qui représente 256 = 28 possibilités de valeurs
différentes.
Attention ! De nombreux logiciels (parfois même certains systèmes d'exploitation) utilisent toujours la
notation antérieure à 1998 pour laquelle :
Un kilooctet (ko) = 210 octets = 1024 octets
Un Mégaoctet (Mo) = 220 octets = 1024 ko = 1 048 576 octets
Un Gigaoctet (Go) = 230 octets = 1024 Mo = 1 073 741 824 octets
Un Téraoctet (To) = 240 octets = 1024 Go = 1 099 511 627 776 octets
L'IEC a également défini le kilo binaire (kibi), le méga binaire (Mébi), le giga binaire (Gibi), le tera
binaire (Tebi). Voici leurs définitions :
• Un kibioctet (kio ou kiB) vaut 210 = 1024 octets B signifie Byte = octet
• Un Mébioctet (Mio ou MiB) vaut 2 = 1 048 576 octets
20
3
Partie 1 : Codage de l’information Représentation des entiers et des réels
Inconvénients :
On utilise le bit de signe pour indiquer si le nombre binaire mémorisé est positif ou négatif. Les
nombres reproduits à en dessus sont formés d'un signe de bit et de sept bits de grandeur. Ces derniers
correspondent à l'équivalent binaire exact de la valeur décimale présentée.
Bien que la notation signe-grandeur soit directe, les ordinateurs et les calculatrices n'y ont
généralement pas recours, en raison de la complexité pour réaliser des opérations arithmétiques avec
cette notation.
En outre le zéro a deux représentations : 0000 0000 et 1000 0000
4
Partie 1 : Codage de l’information Représentation des entiers et des réels
b. Complément à 2
C’est la notation utilisée par les machines pour représenter les nombres binaires signés. Pour exprimer
un nombre négatif on l’écrit en complément à 2. En exploitant la propriété du complément à 2 :
C2(C2(N)) = N (c’est équivalent en décimal à : - ( - N) = N)
Exemple : (11)10 vaut 0000 1011, tandis que -11 s’exprime en complément à 2 par 1111 0101
La complémentation à 2 d'un nombre signé transforme un nombre positif en un nombre négatif et vice
versa.
Réponse : On réserve un bit pour le signe, c’est le bit de poids le plus fort
• Si le bit de signe est à 1 donc il s’agit d’un nombre négatif (en complément à 2)
• Si le bit de signe est à 0 donc c’est un nombre positif
Voici comment on écrit des nombres binaires signés en utilisant la notation en complément à 2.
• Si le nombre est positif, sa grandeur est l’équivalent binaire du nombre avec un 0 sur le bit de
signe.
0 0 0 0 1 1 0 1 +13
↓
Bit de signe 13 en code binaire pur
• Si le nombre est négatif, sa grandeur est le complément à 2 du nombre avec un 1 sur le bit de
signe.
1 1 1 1 0 0 1 1 -13
↓
Bit de signe 13 en complément à 2
Remarquer que sur un octet, on utilise seulement 7 bits pour représenter la grandeur.
Autre avantage :
La notation en complément à 2 est employée pour exprimer les nombres binaires signés parce que,
comme nous avons vu, on parvient grâce à elle à soustraire en effectuant en réalité une addition. Cela
n'est pas négligeable dans le cas des ordinateurs, puisque avec les mêmes circuits, nous parvenons à
soustraire et à additionner.
Dans de nombreuses situations, le nombre de bits est fixé par la longueur des registres qui contiennent
5
Partie 1 : Codage de l’information Représentation des entiers et des réels
les nombres binaires, d'où la nécessité d'ajouter des 0 pour avoir le nombre de bits requis.
c. Plage de données
Sur un octet = 8 bits on peut représenter 28 = 256 nombres signés
• Les nombres négatifs sont compris entre -128 et -1, donc 128 valeurs négatives
• Les nombres positifs sont compris entre +1 et +127, donc 127 valeurs négatives
• Et le 0
Le total des nombres = 128 + 127 +1 = 256 = 28
Cas spécial :
• La plus petite valeur négative est -128 qui est en C2 1000 0000 n’a pas d’opposé positif,
puisque +128 n’appartient pas à l’intervalle [-128 , 127]
• Le zéro en complément à 2 est exprimé par 0000 0000.
D’une manière générale :
Sur n bits on peut représenter 2n valeurs.
• 2n-1 valeurs négatives comprises entre -2n-1 et -1
• 2n-1 – 1 valeurs positives comprises entre 1 et 2n-1
• Et le zéro
D’où la plage de variation des nombres entiers signés avec une représentation en complément à 2 sur
n bits : [ -2n-1 , 2n-1-1] 2n valeurs différentes avec le zéro.
d. Opérations sur le complément à 2
Nous allons maintenant étudier les opérations arithmétiques courantes sur les nombres en complément
à 2. Dans tous les cas étudiés, il est important que vous remarquiez que le bit de signe de chaque
nombre est traité sur le même pied que les bits de la partie grandeur.
i. Addition de deux nombres positifs
L'addition de deux nombres positifs est immédiate. Soit l'addition de +19 et +14
0 0 0 1 0 0 1 1 +19
0 0 0 0 1 1 1 0 +14
0 0 1 0 0 0 0 1 +33
↑
Bit de signe
Remarquez que les bits de signe des deux nombres sont 0 et que celui de la somme est aussi 0, ce qui
indique un nombre positif. Notez aussi qu'on a fait en sorte que les deux nombres aient le même
nombre de bits. Il faut toujours s'assurer de cela dans la notation en complément à 2.
ii. Nombre positif et nombre négatif plus petit
0 1 0 1 0 0 1 1 +83
1 0 1 1 1 0 1 0 -70
1 0 0 0 0 1 1 0 1 +13
↑
Bit de signe
Dans ce cas-ci, le bit de signe de -70 est 1. Remarquez que les bits de signe sont aussi additionnés. En
fait, un report est produit au moment de l'addition du dernier rang. Ce report est toujours rejeté d'où la
6
Partie 1 : Codage de l’information Représentation des entiers et des réels
1 0 1 0 1 1 0 1 -83
0 1 0 0 0 1 1 0 +70
1 1 1 1 0 0 1 1 -13
↑
Bit de signe
Dans ce cas-ci le bit de signe de la somme est 1, ce qui indique un nombre négatif. Comme la somme
est un nombre négatif, la réponse est le complément à 2 de la grandeur exacte. Donc 1111 0011 est en
réalité le complément à 2 de la somme. Pour trouver l’opposé positif de la somme, on doit prendre le
complément à 2 de 1111 0011, ce qui donne 0000 1101 = (+13 ) ; la réponse est donc 11110011 = -13.
iv. Deux nombres négatifs
1 1 1 0 1 1 0 1 -19
1 1 0 0 0 1 1 0 -58
1 1 0 1 1 0 0 1 1 -77
↑
Bit de signe
7
Partie 1 : Codage de l’information Représentation des entiers et des réels
• Quand les deux nombres sont négatifs, ils sont donc écrits dans la notation en complément à 2.
Chacun de ces nombres est complémenté à 2 pour obtenir un nombre positif et ce sont les résultats
de ces complémentations qu'on multiplie. Le produit est un nombre positif dont le bit de signe est
0.
• Quand un des nombres est positif et que l'autre est négatif, le nombre négatif est d'abord
complémenté à 2 pour obtenir une grandeur positive. Le produit est exprimé selon la notation en
grandeur exacte (code binaire pur). Cependant, le produit doit être négatif car les nombres à
multiplier sont de signes opposés. Par conséquent, on complémente à 2 le produit
Si dans une machine les informations sont représentées en virgule flottante, elles se présenteront de la
manière suivante : 100111100
100111 100
Mantisse exposant
100111 est la Mantisse et correspond à notre nombre N de départ (1001,11) mais sans "écrire ou
indiquer" la virgule,
100 est l'Exposant (100 en binaire vaut 4 en décimal) et donne la position de la virgule (la 4ème position
de gauche à droite). Nombre à virgule flottante
b. La norme IEEE 754
Il s'agit d'aller représenter un nombre binaire à virgule sous la forme 1,XXXXX... × 2n (exemple
1,0101×22). La norme IEEE 754 définit la façon de coder un nombre réel.
Cette norme se propose de coder le nombre sur 32 bits (simple précision) (ou 64 bits pour double
8
Partie 1 : Codage de l’information Représentation des entiers et des réels
Exemples concrets :
Ecrivons 525,5 selon la norme IEEE :
• 525,5 est positif donc le 1er bit sera 0.
• Sa représentation en base 2 est la suivante : 1000001101,1 En normalisant, on trouve :
1,0000011011×29
• On ajoute 127 à l'exposant qui vaut 9 ce qui donne 136, soit en base 2 : 10001000
• La mantisse est composée de la partie décimale de 525,5 en base 2 normalisée, c'est-à-dire
0000011011. Comme la mantisse doit occuper 23 bits, il est nécessaire d'ajouter des zéros pour
la compléter : 00000110110000000000000
La représentation du nombre 525,5 en binaire avec la norme IEEE est donc :
0 1000 1000 00000110110000000000000
Voici un autre exemple avec un réel négatif :
Soit à coder la valeur -0,625.
• Le bit s vaut 1 car 0,625 est négatif
• 0,625 s'écrit en base 2 de la façon suivante : 0,101. On souhaite l'écrire sous la forme 1.01 x 2-1
• L’exposant vaut 1111110 car 127 - 1 = 126 (soit 1111110 en binaire)
• La mantisse est 01000000000000000000000 (seuls les chiffres après la virgule sont
représentés, le nombre entier étant toujours égal à 1)
La représentation du nombre 0,625 en binaire avec la norme IEEE est :
1 0111 1110 01000000000000000000000
9
Partie 1 : Codage de l’information Représentation des caractères
• Les codes 0 à 31 ne sont pas des caractères affichables. On les appelle caractères de contrôle
car ils permettent de faire des actions telles que :
o Retour à la ligne (CR)
o Bip sonore (BEL)
• Les codes 65 à 90 représentent les majuscules
• Les codes 97 à 122 représentent les minuscules
(Il suffit de modifier le 6ème bit pour passer de majuscules à minuscules, c'est-à-dire ajouter 32 au code
ASCII en base décimale.)
(Voir la table détaillée du code ASCII – Annexe)
On peut aussi présenter la table des caractères ASCII sous cette forme plus condensée qui met en
évidence une organisation fondée sur la base 16
0 1 2 3 4 5 6 7 8 9 A B C D E F
NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI
0
DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
1
SP
2 ! " # $ % & ' ( ) * + , - . /
3 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4 @ A B C D E F G H I J K L M N O
5 P Q R S T U V W X Y Z [ \ ] ^ _
6 ` a b c d e f g h i j k l m n o
DEL
7 p q r s t u v w x y z { | } ~
10
Partie 1 : Codage de l’information Représentation des caractères
Ce code attribue les valeurs 0 à 255 (donc codées sur 8 bits, soit 1 octet) aux lettres majuscules et
minuscules, aux chiffres, aux marques de ponctuation et aux autres symboles (caractères accentués
dans le cas du code iso-latin1).
Le code ASCII étendu n'est pas unique et dépend fortement de la plateforme utilisée.
Les deux jeux de caractères ASCII étendus les plus couramment utilisés sont :
• Le code ASCII étendu OEM, c'est-à-dire celui qui équipait les premières machines de type
IBM PC (voir Annexe)
• Le code ASCII étendu ANSI, utilisé par les systèmes d'exploitation récents
Le code EBCDIC
Le code EBCDIC (Extended Binary-Coded Decimal Interchange Code), développé par IBM, permet
de coder des caractères sur 8 bits. Bien que largement répandu sur les machines IBM, il n'a pas eu le
succès qu'a connu le code ASCII.
Unicode
Le code Unicode est un système de codage des caractères sur 16 bits mis au point en 1991. Le système
Unicode permet de représenter n'importe quel caractère par un code sur 16 bits, indépendamment de
tout système d'exploitation ou langage de programmation.
Il regroupe ainsi la quasi-totalité des alphabets existants (arabe, arménien, cyrillique, grec, hébreu,
latin, ...) et est compatible avec le code ASCII
11
Partie 1 : Codage de l’information Autres codages
V. Autres codages
Codage BCD
Le BCD pour binary coded decimal, qui peut se traduire en français par décimal codé binaire, est un
système de numération utilisé en électronique et en informatique pour coder des nombres d'une façon
relativement proche de la représentation humaine usuelle (en base 10). En BCD, les nombres sont
représentés en chiffres décimaux et chacun de ces chiffres est codé sur quatre bits :
Décimal 0 1 2 3 4 5 6 7 8 9
BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
Exemple : Pour coder un nombre tel 127 il suffit de coder chacun des chiffres.
1 2 7
↓ ↓ ↓
0001 0010 0111
1 Les 4 bits de poids faible de cet octet sont utilisés pour représenter le signe
12
Partie 1 : Codage de l’information Autres codages
Le BCD est très commun dans les systèmes électroniques lorsqu'une valeur numérique doit être
affichée, spécialement dans les systèmes ne consistant qu'en circuits numériques et ne contenant pas de
microprocesseur (une calculatrice par exemple). En utilisant BCD, la manipulation des données
numériques est grandement simplifiée en traitant chaque chiffre dans un seul sous-circuit. Ce
fonctionnement est le plus proche du matériel d'affichage (pour un afficheur 7 segments notamment).
Si la quantité numérique était stockée et manipulée en binaire, il faudrait une interface de traduction
complexe. En utilisant le BCD dans tout le circuit, le système électronique en est simplifié.
Codage gray
Le code de Gray, également appelé binaire réfléchi, est un type de codage binaire permettant de ne
modifier qu'un seul bit à la fois quand un nombre est augmenté d'une unité. Le nom du code vient de
l'ingénieur américain Frank Gray (en) qui publia un brevet sur ce code en 1953.
a. Intérêt
Le fait de modifier plusieurs bits lors d'une simple incrémentation peut mener, selon le circuit logique,
à un état transitoire indésirable dû au fait que le chemin logique de chaque bit dispose d'un délai
différent. Ainsi, lors du passage de la valeur "01" à la valeur "10" en binaire naturel, il est possible
d'observer un état transitoire "00" si le bit de droite commute en premier ou "11" dans le cas contraire.
Si le circuit dépendant de cette donnée n'est pas synchrone2, l'état transitoire peut perturber les
opérations en faisant croire au système qu'il est passé par un état normalement non atteint à ce stade.
Ce code permet de contourner cet aléa en forçant la commutation d'un seul bit à la fois, évitant ainsi les
états transitoires.
Alors ce code est fréquemment utilisé dans les capteurs angulaires ou de positionnement et les
convertisseurs analogiques numériques, mais aussi lorsque l'on désire une progression numérique
binaire sans parasite transitoire. Le code Gray sert également dans les tableaux de Karnaugh utilisés
lors de la conception de circuits logiques.
b. Table d’équivalence
2 Un circuit synchrone est un circuit électronique numérique qui fonctionne à un rythme dicté par une horloge
13
Partie 1 : Codage de l’information Autres codages
12 1100 1010
13 1101 1011
14 1110 1001
15 1111 1000
0 1 0 1 (5)10
^ 0 0 1 0 Décalage à droite par un bit
0 1 1 1 Code gray de 5
14
Annexe 36 044 24 0100100 $ Dollar
Annexe Code 37 045 25 0100101 % Pourcent
car signification 38 046 26 0100110 & Esperluette ou perluète8
10 8 16 binaire
39 047 27 0100111 ' Apostrophe ou guillemet fermant
0 0 00 0000000 NUL Null (nul) simple ou accent aigu12
1 01 01 0000001 SOH Start of Header (début d'en-tête) 40 050 28 0101000 ( Parenthèse ouvrante
2 02 02 0000010 STX Start of Text (début du texte) 41 051 29 0101001 ) Parenthèse fermante
3 03 03 0000011 ETX End of Text (fin du texte) 42 052 2A 0101010 * Astérisque
4 04 04 0000100 EOT End of Transmission (fin de transmission) 43 053 2B 0101011 + Plus
5 05 05 0000101 ENQ Enquiry (End of Line) (demande, fin de ligne) 44 054 2C 0101100 , Virgule
6 06 06 0000110 ACK Acknowledge (accusé de réception) 45 055 2D 0101101 - Moins ou tiret8 ou trait d'union
7 07 07 0000111 BEL Bell (caractère d'appel) 46 056 2E 0101110 . Point
8 010 08 0001000 BS Backspace (espacement arrière) 47 057 2F 0101111 / Barre oblique (Slash en anglais)
9 011 09 0001001 HT Horizontal Tab (tabulation horizontale) 48 060 30 0110000 0 Le chiffre zéro
10 012 0A 0001010 LF Line Feed (saut de ligne) 49 061 31 0110001 1 Le chiffre un
11 013 0B 0001011 VT Vertical Tab (tabulation verticale) 50 062 32 0110010 2 Le chiffre deux
12 014 0C 0001100 FF Form Feed (saut de page) 51 063 33 0110011 3 Le chiffre trois
13 015 0D 0001101 CR Carriage Return (retour chariot) 52 064 34 0110100 4 Le chiffre quatre
14 016 0E 0001110 SO Shift Out (fin d'extension) 53 065 35 0110101 5 Le chiffre cinq
15 017 0F 0001111 SI Shift In (démarrage d'extension) 54 066 36 0110110 6 Le chiffre six
16 020 10 0010000 DLE Data Link Escape 55 067 37 0110111 7 Le chiffre sept
17 021 11 0010001 DC1 Device Control 1 à 4 (DC1 et DC3 sont 56 070 38 0111000 8 Le chiffre huit
18 022 12 0010010 DC2 généralementutilisés pour coder XON et XOFF
dans un canal de communication duplex) 57 071 39 0111001 9 Le chiffre neuf
19 023 13 0010011 DC3 58 072 3A 0111010 : Deux-points
20 024 14 0010100 DC4 59 073 3B 0111011 ; Point-virgule
21 025 15 0010101 NAK Negative Acknowledge (accusé de réception 60 074 3C 0111100 < Inférieur
négatif)
61 075 3D 0111101 = Égal
22 026 16 0010110 SYN Synchronous Idle
62 076 3E 0111110 > Supérieur
23 027 17 0010111 ETB End of Transmission Block (fin du bloc de
transmission) 63 077 3F 0111111 ? Point d'interrogation
24 030 18 0011000 CAN Cancel (annulation) 64 0100 40 1000000 @ Arobace ou arobase ou A commercial8
25 031 19 0011001 EM End of Medium (fin de support) 65 0101 41 1000001 A
26 032 1A 0011010 SUB Substitute (substitution) 66 0102 42 1000010 B
27 033 1B 0011011 ESC Escape (échappement) 67 0103 43 1000011 C
28 034 1C 0011100 FS File Separator (séparateur de fichier) 68 0104 44 1000100 D
29 035 1D 0011101 GS Group Separator (séparateur de groupe) 69 0105 45 1000101 E
30 036 1E 0011110 RS Record Separator (séparateur 70 0106 46 1000110 F
d'enregistrement) 71 0107 47 1000111 G
31 037 1F 0011111 US Unit Separator (séparateur d'unité) 72 0110 48 1001000 H
32 040 20 0100000 SP Espace (Space en anglais) 73 0111 49 1001001 I
33 041 21 0100001 ! Point d'exclamation 74 0112 4A 1001010 J
34 042 22 0100010 " Guillemet droit 75 0113 4B 1001011 K
35 043 23 0100011 # Croisillon ou dièse ou signe numéro8 76 0114 4C 1001100 L
15
77 0115 4D 1001101 M 117 0165 75 1110101 u
78 0116 4E 1001110 N 118 0166 76 1110110 v
79 0117 4F 1001111 O 119 0167 77 1110111 w
80 0120 50 1010000 P 120 0170 78 1111000 x
81 0121 51 1010001 Q 121 0171 79 1111001 y
82 0122 52 1010010 R 122 0172 7A 1111010 z
83 0123 53 1010011 S 123 0173 7B 1111011 { Accolade ouvrante
84 0124 54 1010100 T 124 0174 7C 1111100 | Barre verticale
85 0125 55 1010101 U 125 0175 7D 1111101 } Accolade fermante
86 0126 56 1010110 V 126 0176 7E 1111110 ~ Tilde
87 0127 57 1010111 W 127 0177 7F 1111111 DEL Delete (effacement)
88 0130 58 1011000 X
89 0131 59 1011001 Y
Dans la table ci-dessus, les 33 caractères de contrôle (codes 0 à 31 et
90 0132 5A 1011010 Z
91 0133 5B 1011011 [ Crochet ouvrant 127) sont présentés avec leur nom en anglais suivi d'une traduction entre
92 0134 5C 1011100 \ Barre oblique parenthèses.
inversée (backslash ou antislash en anglais)
93 0135 5D 1011101 ] Crochet fermant
94 0136 5E 1011110 ^ Accent circonflexe (avec chasse) Le code ASCII étendu OEM
95 0137 5F 1011111 _ Tiret bas ou trait
bas8 ou souligné (underscore en anglais)
96 0140 60 1100000 ` Accent grave (avec chasse)13
97 0141 61 1100001 a
98 0142 62 1100010 b
99 0143 63 1100011 c
100 0144 64 1100100 d
101 0145 65 1100101 e
102 0146 66 1100110 f
103 0147 67 1100111 g
104 0150 68 1101000 h
105 0151 69 1101001 i
106 0152 6A 1101010 j
107 0153 6B 1101011 k
108 0154 6C 1101100 l
109 0155 6D 1101101 m
110 0156 6E 1101110 n
111 0157 6F 1101111 o
112 0160 70 1110000 p
113 0161 71 1110001 q
114 0162 72 1110010 r
115 0163 73 1110011 s
116 0164 74 1110100 t
16