Valeur d'un nombre binaire

Résolu/Fermé
Syd - 8 juin 2011 à 12:35
 Syd - 8 juin 2011 à 13:15
Bonjour,
Je ne sais pas si c'est dans ce forum qu'il faut que je pose ma question, mais bon , je cherche quelqu'un qui peut m'expliqué comment calculer la valeur binaire d'un nombre s'il vous plait. Merci d'avance

2 réponses

mpmp93 Messages postés 6648 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
Modifié par mpmp93 le 8/06/2011 à 13:11
Bonjour,

Un nombre binaire n'est fait que de 0 et 1

0 = 0
1 = 1
2 = 10
3 = 11
4 = 100
5 = 101
6 = 110
7 = 111
....

En fait, prenez un bête compteur kilométrique... Sauf qu'au lieu de graduer chaque tranche de 0 à 9 il n'y ait que deux séparations: 0 pour une motié, 1 pour l'autre moitié.... Donc, si notre compteur affiche:

10000101 et que la roue des unités fait un demi-tour, qu'affichera le compteur?

Réponse:

10000110

S'il affiche

0111111 et qu'on rajoute 1/2 tour?

Réponse:

1000000 eh oui, car le 1/2 tour sur 1 = 1 + 1 = 10 (en binaire....) et la retenue se propage de bit en bit vers les bits de poids fort...

Comme il assez fatiguant visuellement de lire 0000101000010010101010010101

Les informaticiens ont divisé ces chiffres binaires en paquets de 4:

0000 1010 0001 0010 1010 1001 0101

Et chaque paquet peut avoir 16 combinaisons, de 0000 à 1111.

Pour chaque combinaison, on lui affecte un rang:

0000 => rang 0
0001 => rang 1
....
0101 => rang 9
0110 => rang A
...
1111 => rang F

Donc, 0000 1010 0001 0010 1010 1001 0101 peut s'écrire sous une forme plus compacte: 0 A 1 2 A 9 5 => c'est de l'hexa.

1F + 01 = ???


réponse

20

ce qui est nettement plus lisible que

0001 1111 + 0000 00001
=
0010 0000

Il existe un langage informatique, FORTH qui sait gérer les bases numériques de manière facile:

: B. base @ >r 2 base ! . r> base ! ;

puis 3 b. affiche 3 en base binaire

HEX 3F B. affiche 3F en binaire....

FORTH sait également travailler dans d'autres bases numériques, en fait à peu près n'importe laquelle, même en 'base 6'!!!

: ## # 6 base ! # decimal ;
: HMS <# ## ascii : hold ## ascii : hold #s #> ;

on vient de compiler le mot HMS qui convertit un nombre quelconque de secondes au format heures:minutes:secondes... Ca s'écrit en deux lignes de code et sans aucune boucle, ni test. Utilisation:

3555. HMS TYPE affiche 0:59:15
3600. HMS TYPE affiche 1:00:00

La base 6 est utilisée ici pour générer le chiffre de poids fort des secondes et des minutes.

FORTH: https://fr.wikipedia.org/wiki/Forth_%28langage%29

A+
1
Merci pour les reponses , même si ce que tu as est un peu compliqué , mais j'ai eu ce que je veux merci encore^^
0