Pour représenter un entier positif, nous devons convertir le binaire en décimal. Nous le faisons en multipliant le ième bit par 2i. Ainsi, le bit le plus à droite est multiplié par 20, soit 1, le deuxième bit le plus à droite par 21, soit 2, et le troisième bit le plus à droite par 22, soit 4, et ainsi de suite.

Donc 1010 binaire est : 1*23+ 0*22+1*21+0*20 = 8+0+2+0 = 10 décimal

Autre façon de le dire : en partant du bit le plus à droite et en allant vers la gauche, on attribue 1,2,4,8,16,32, etc. à chaque bit qui est 1.
On peut aussi prendre un nombre binaire et le convertir en binaire. Une façon de le faire est d’écrire les valeurs en base-10 de chaque bit jusqu’à ce que vous trouviez une valeur qui est plus grande que le nombre que vous essayez de convertir. Ainsi, pour le nombre 155 en base 10, nous écririons les valeurs correspondant à :
valeur : 256 128 64 32 16 8 4 2 1
Pour obtenir 155, nous ne pouvons pas avoir l’ensemble de 256 bits, mais nous pouvons avoir un 128, donc nous mettons un ‘1’ ici.
valeur : 256 128 64 32 16 8 4 2 1
0 1
Nous avons toujours besoin de 155-128=27. 64 et 32 sont trop grands, donc nous y plaçons des 0 et mettons un 1 sur 16:
valeur : 256 128 64 32 16 8 4 2 1
0 1 0 0 1
Nous avons encore besoin de 155-128-16=11. Nous donnons donc un ‘1’ au chiffre de valeur 8. Il nous en faut encore 3, nous mettons donc un 0 dans la valeur 4, et des 1 dans la valeur 2 et la valeur 1. Cela nous donne le nombre binaire :
valeur : 256 128 64 32 16 8 4 2 1
0 1 0 0 1 1 0 1 1
Donc 155 décimal est égal à 010011011 binaire.
Les entiers sont généralement alloués 4 octets (32 bits) ou sur les ordinateurs 64 bits, souvent 8 octets.
Représentation des flottants
Les nombres à virgule flottante sont représentés de manière similaire aux entiers, mais certains bits sont réservés à la partie fractionnaire du nombre. Pour cette raison, les flottants se voient généralement attribuer plus de bits (par exemple, 64 au lieu de 32).
Exemple : Disons que nous allions représenter un flottant avec 6 bits, les 2 plus à droite étant la partie fractionnaire. Alors quelle serait la valeur de :
101010?

Caractères et chaînes de caractères

Chaque symbole du clavier – lettres, chiffres, etc – est représenté en interne dans la mémoire d’un ordinateur par un nombre. On les appelle des caractères.
Les correspondances entre les chiffres et les symboles sont définies dans la table ASCII : http://www.lookuptables.com/.
La table de correspondance était connue sous le nom de table ASCII, ou code ASCII. Avec l’ASCII, chaque symbole était représenté par un nombre compris entre 0 et 255 (question : combien de bits sont nécessaires pour stocker un tel nombre ?)

Pour ne pas être centrés sur l’anglais, les systèmes informatiques modernes utilisent désormais l’Unicode, qui peut représenter de nombreuses langues différentes et nécessite des bits supplémentaires pour représenter chaque symbole. Mais pour les symboles anglais, la table ASCII peut toujours être utilisée pour rechercher la valeur de chaque symbole.
Une chaîne de caractères est une séquence de caractères, par exemple ‘chien’. En interne, nous stockons le numéro unicode de chaque caractère et un caractère spécial de fin de chaîne. Ainsi, le mot « chien » est en fait le numéro unicode de « d », le numéro unicode de « o » et le caractère unicode de « g », et enfin le caractère de fin de chaîne qui est « \0 ». ‘d’ est 100 décimal dans la table ASCII, donc « dog » est représenté avec les nombres décimaux suivants (stockés sur 16 bits chacun) :
100 111 103 0
Les nombres sont généralement stockés sous forme d’entiers, comme expliqué ci-dessus. Mais lorsque nous recevons des entrées de l’utilisateur ou que nous affichons des valeurs, nous devons gérer des nombres représentés comme une séquence de chiffres. Tout comme les lettres, les chiffres sont des caractères. Le chiffre ‘0’ est le numéro unicode 48 et ‘9’ est le numéro unicode 57. La chaîne ‘724’ est stockée en interne sous la forme suivante : 55 50 52 0

Feuille de travail

1. Considérez les seize bits suivants :

0000 0000 0100 1101

a. Quelle est la valeur de ce nombre s’il représente un entier positif (nombre entier) ?
b. Si la chaîne de bits représente un symbole, de quel symbole s’agit-il ? Vous pouvez utiliser la table de recherche ascii http://www.lookuptables.com/

2. Les ordinateurs avaient autrefois 64K de mémoire. Quelle est la valeur de K ? Est-ce un nombre rond ? Pourquoi les informaticiens ne travaillent-ils pas avec de beaux nombres ronds comme 1000 ?
3. Qu’est-ce qu’un mégaoctet ? Un gigaoctet ? Qu’est-ce qu’un millier de gigaoctets ? Un million de gigaoctets?
4. Montrez comment les trois nombres en base 10 suivants seraient représentés en binaire.

24 1025 43

5. Montrez comment ‘chat’ est représenté en bits ?
6. Combien de caractères possibles peuvent être représentés avec l’unicode (16 bits) ?
7. Quel est le plus grand nombre entier qui peut être représenté avec 4 octets, si on ne considère que les nombres positifs ?
8. Si on considère aussi les nombres négatifs, quel est le plus grand nombre entier qui peut être représenté avec quatre octets ? Comment pensez-vous que les nombres négatifs sont représentés ?
9. Ecrivez une fonction python qui prend une chaîne de chiffres comme paramètre et renvoie un entier qui est la valeur en base 10 de ces chiffres, par exemple, si le paramètre est « 723 », la fonction renvoie l’entier 723 (Oui, je sais, Python a une fonction int– vous l’écrivez ici).
10. Écrivez une fonction python qui prend une chaîne de chiffres en base 10 comme paramètre et renvoie une chaîne de chiffres en base 2 de sorte que les chiffres en base 2 soient la valeur convertie des chiffres en base 10 d’origine. Par exemple, si « 11 » était envoyé, la fonction renverrait « 1011 ».
Travaillez les questions ci-dessus avec un crayon et du papier. Lorsque vous avez terminé, vous pouvez vérifier vos réponses de conversion binaire ici : http://mistupid.com/computers/binaryconv.htm
Aide à la conversion binaire:

Nombres binaires de CSUNPLUGGED

Nombres binaires en 60 secondes

.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.