L'octet

L'octet (en anglais byte ou B avec une majuscule dans les notations) est une unité d'information composée de 8 bits. Il permet par exemple de stocker un caractère, tel qu'une lettre ou un chiffre.

Ce regroupement de nombres par série de 8 permet une lisibilité plus grande, au même titre que l'on apprécie, en base décimale, de regrouper les nombres par trois pour pouvoir distinguer les milliers. Le nombre « 1 256 245 » est par exemple plus lisible que « 1256245 ».

Une unité d'information composée de 16 bits est généralement appelée mot (en anglais word).

Une unité d'information de 32 bits de longueur est appelée mot double (en anglais double word, d'où l'appellation dword).

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 possibilités de valeurs différentes.
[ Ajouter un commentaire ] [ Aucun commentaire ]

# Posté le dimanche 04 décembre 2005 07:47

Les opérateurs en binaire

Les opérations en binaire


Les opérations arithmétiques simples telles que l'addition, la soustraction et la multiplication sont faciles à effectuer en binaire.

L'addition en binaire


L'addition en binaire se fait avec les mêmes règles qu'en décimale :
On commence à additionner les bits de poids faible (les bits de droite) puis on a des retenues lorsque la somme de deux bits de même poids dépasse la valeur de l'unité la plus grande (dans le cas du binaire : 1), cette retenue est reportée sur le bit de poids plus fort suivant...

Par exemple :

0 1 1 0 1
+ 0 1 1 1 0
- - - - - -
1 1 0 1 1


La multiplication en binaire


La table de multiplication en binaire est très simple :

0x0=0
0x1=0
1x0=0
1x1=1
La multiplication se fait en formant un produit partiel pour chaque digit du multiplicateur (seuls les bits non nuls donneront un résultat non nul). Lorsque le bit du multiplicateur est nul, le produit partiel est nul, lorsqu'il vaut un, le produit partiel est constitué du multiplicande décalé du nombre de positions égal au poids du bit du multiplicateur.

Par exemple :

0 1 0 1 multiplicande
x 0 0 1 0 multiplicateur
- - - - - -
0 0 0 0
0 1 0 1
0 0 0 0
- - - - - -
0 1 0 1 0
[ Ajouter un commentaire ] [ Aucun commentaire ]

# Posté le dimanche 04 décembre 2005 07:48

La base hexadécimale

Les nombres binaires étant de plus en plus longs, il a fallu introduire une nouvelle base : la base hexadécimale.
La base hexadécimale consiste à compter sur une base 16, c'est pourquoi au-delà des 10 premiers chiffres on a décidé d'ajouter les 6 premières lettres : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

Base décimale 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Base hexadécimale 0 1 2 3 4 5 6 7 8 9 A B C D E F
Base binaire 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111


Un exemple



Le nombre 27 (en base 10) vaut en base 16 : 1*161 + 11*160 = 1*161 + B*160
c'est-à-dire 1B en base 16.

Le nombre FB3 (en base 16) vaut en base 10 : F*162 + B*161 + 3*160 = 3840 + 176 + 3 = 4019

Pour convertir un octet en hexadécimale, on le partage en 2 groupes de 4 bits, qui correspondent chacun à un chiffre hexadécimal.

2 A D 5
0010 1010 1101 0101
[ Ajouter un commentaire ] [ Aucun commentaire ]

# Posté le dimanche 04 décembre 2005 07:49

Représentation des nombres en binaires

On appelle représentation (ou codification) d'un nombre la façon selon laquelle il est décrit sous forme binaire. La représentation des nombres sur un ordinateur est indispensable pour que celui-ci puisse les stocker, les manipuler. Toutefois le problème est qu'un nombre mathématique peut être infini (aussi grand que l'on veut), mais la représentation d'un nombre dans un ordinateur doit être faite sur un nombre de bits prédéfini. Il s'agit donc de prédéfinir un nombre de bits et la manière de les utiliser pour que ceux-ci servent le plus efficacement possible à représenter l'entité. Ainsi il serait idiot de coder un caractère sur 16 bits (65536 possibilités) alors qu'on en utilise généralement moins de 256...

Représentation d'un entier naturel


Un entier naturel est un entier positif ou nul. Le choix à faire (c'est-à-dire le nombre de bits à utiliser) dépend de la fourchette des nombres que l'on désire utiliser. Pour coder des nombres entiers naturels compris entre 0 et 255, il nous suffira de 8 bits (un octet) car 28=256. D'une manière générale un codage sur n bits pourra permettre de représenter des nombres entiers naturels compris entre 0 et 2n-1.

Pour représenter un nombre entier naturel après avoir défini le nombre de bits sur lequel on le code, il suffit de ranger chaque bit dans la cellule binaire correspondant à son poids binaire de la droite vers la gauche, puis on « remplit » les bits non utilisés par des zéros.

Représentation d'un entier relatif


Un entier relatif est un entier pouvant être négatif. Il faut donc coder le nombre de telle façon que l'on puisse savoir s'il s'agit d'un nombre positif ou d'un nombre négatif, et il faut de plus que les règles d'addition soient conservées. L'astuce consiste à utiliser un codage que l'on appelle complément à deux.

un entier relatif positif ou nul sera représenté en binaire (base 2) comme un entier naturel, à la seule différence que le bit de poids fort (le bit situé à l'extrême gauche) représente le signe. Il faut donc s'assurer pour un entier positif ou nul qu'il est à zéro (0 correspond à un signe positif, 1 à un signe négatif). Ainsi si on code un entier naturel sur 4 bits, le nombre le plus grand sera 0111 (c'est-à-dire 7 en base décimale).
D'une manière générale le plus grand entier relatif positif codé sur n bits sera 2n-1-1.
un entier relatif négatif grâce au codage en complément à deux.
Principe du complément à deux :
Soit à représenter un nombre négatif.
Prenons son opposé (son équivalent en positif)
On le représente en base 2 sur n-1 bits
On complémente chaque bit (on inverse, c'est-à-dire que l'on remplace les zéros par des 1 et vice-versa)
On ajoute 1
On remarquera qu'en ajoutant le nombre et son complément à deux on obtient 0...
Voyons maintenant cela sur un exemple :
On désire coder la valeur -5 sur 8 bits. Il suffit :
d'écrire 5 en binaire : 00000101
de complémenter à 1 : 11111010
d'ajouter 1 : 11111011
la représentation binaire de -5 sur 8 bits est 11111011
Remarques:
Le bit de poids fort est 1, on a donc bien un nombre négatif.
Si on ajoute 5 et -5 (00000101 et 11111011) on obtient 0 (avec une retenue de 1...).
Représentation d'un nombre réel


Il s'agit d'aller représenter un nombre binaire à virgule (par exemple 101,01 qui ne se lit pas cent un virgule zéro un puisque c'est un nombre binaire mais 5,25 en décimale) sous la forme 1,XXXXX... * 2n (c'est-à-dire dans notre exemple 1,0101*22). La norme IEEE définit la façon de coder un nombre réel.
Cette norme se propose de coder le nombre sur 32 bits et définit trois composantes :

le signe est représenté par un seul bit, le bit de poids fort (celui le plus à gauche)
l'exposant est codé sur les 8 bits consécutifs au signe
la mantisse (les bits situés après la virgule) sur les 23 bits restants
Ainsi le codage se fait sous la forme suivante :
seeeeeeeemmmmmmmmmmmmmmmmmmmmmmm
le s représente le bit relatif au signe
les e représentent les bits relatifs à l'exposant
les m représentent les bits relatifs à la mantisse
Certaines conditions sont toutefois à respecter pour les exposants :

l'exposant 00000000 est interdit
l'exposant 11111111 est interdit. On s'en sert toutefois pour signaler des erreurs, on appelle alors cette configuration du nombre NaN, ce qui signifie Not a number
les exposants peuvent ainsi aller de -126 à 127
Voyons ce codage sur un exemple :
Soit à coder la valeur 525,5.

525,5 s'écrit en base 2 de la façon suivante :
1000001101,1
On veut l'écrire sous la forme 1.0000011011 x 29
Par conséquent :
le bit s vaut 1
l'exposant vaut 9, soit 1001
la mantisse est 10000011011
La représentation du nombre 525,5 en binaire avec la norme IEEE est :
10000100100000000000010000011011
[ Ajouter un commentaire ] [ Aucun commentaire ]

# Posté le dimanche 04 décembre 2005 07:50

Le code ASCII, mais qu'est-ce que c'est????

La mémoire de l'ordinateur conserve toutes les données sous forme numérique. Il n'existe pas de méthode pour stocker directement les caractères. Chaque caractère possède donc son équivalent en code numérique : c'est le code ASCII (American Standard Code for Information Interchange - traduisez « Code Americain Standard pour l'Echange d'Informations »). Le code ASCII de base représentait les caractères sur 7 bits (c'est-à-dire 128 caractères possibles, de 0 à 127).
[ Ajouter un commentaire ] [ Aucun commentaire ]

# Posté le dimanche 04 décembre 2005 07:51