Calculer la valeur binaire d'un nombre

Description

J'ai fait ce petit programme en 2 minutes grâce aux explications suivantes trouvés sur un site expliquant comment marche le language binaire :

Comment calculer la valeur binaire d'un nombre ?

Prenons au hasard le nombre 247

247/2 = 123 ->1

123/2 = 61 ->1

61/2 = 30 ->1

30/2 = 15 ->0

15/2 = 7 ->1

7/2 = 3 ->1

3/2 = 1 ->1

1/2 = 0 ->1

Avant de commencer a le vérifier le nombre se lit de la droite vers la gauche, ce qui donne:11110111.Ensuite il faut le

décomposer en puissance de 2:

1x2^0 + 1x2^1 + 1x2^2+ 1x2^3 + 0x2^4 + 1x2^5 + 1x2^6 + 1x2^7

1+2+4+16+0+32+64+128,ce qui nous fais un total de 247 le compte est donc bon.

Vous désirez plus de précision pour être sur de ne pas vous tromper?

Prenons le nombre 102,on le divise donc par deux pendant 8 fois

102/2 = 51 , on a la un nombre pair ca nous donne 0

51/2 = 25,5 on a la un nombre a virgule ca nous donne 1

25/2 = 12,5 on a la un nombre a virgule ca nous donne 1

12/2 = 6,on a la un nombre paire ca nous donne 0

6/2 = 3,on a la un nombre paire ca nous donne 0

3/2 = 1,5 on a la un nombre a virgule ca nous donne 1

1/2 = 0,5 on a la un nombre a virgule ca nous donne 1

0,5 /2 = 0 car en calcule binaire tout nombre a diviser par zero donne zero

Ce qui nous donne:01100110

En le mettant dans le bon sens:01100110

(en binaire un nombre se lit de la droite vers la gauche)

Vérifions:

0x2^0+1x2^1+1x2^2+0x2^3+0x2^4+1x2^5+1x2^6+0x2^7 soit 102

Source / Exemple :


'Si on en fait une fonction cela donne :

Public Function Binaire(NBorCar As String) As String
Dim NB As Single
Dim i As Integer
For i = 1 To 8 '8 bits
If InStr(1, NBorCar / 2, ",") <> 0 Then Binaire = Binaire & "1" Else: Binaire = Binaire & "0"
NBorCar = Int(NBorCar / 2)
Next i
Binaire = StrReverse(Binaire)
End Function

Conclusion :


N'héZitez pas a me corriger si j'ai fait une erreur.
Bonne prog' a tous ;o)

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.