Calculer la valeur binaire d'un nombre

Soyez le premier à donner votre avis sur cette source.

Vue 24 645 fois - Téléchargée 521 fois

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

Ajouter un commentaire

Commentaires

cs_Urgo
Messages postés
780
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
16 avril 2009
1 -
lol
C'est assez bien expliqué ton truc, mais est-ce vraiment utile comme source ?
Toute personne se servant d'un ordinateur et s'intéressant un minimun à la programmation devrait connaître ça.

En clair, cette source convient parfaitement aux débutants et aux petits, et vu que t'as l'air d'avoir prit du plaisir à faire ça je te met un 7, je suis gentil. :p
Renfield
Messages postés
17283
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
56 -
Public Function Binaire(ByVal Dec As Variant) As String
Dim Ret As String
If Dec 0 Then Ret "0"
While Dec > 0
Ret = (Dec And 1) & Ret
Dec = Dec 2
Wend
Binaire = Format(Ret, String(8 * (1 + Len(Ret) 8), "0"))
End Function

L'avantage, c'est qu'on ne se base pas sur le symbole virgule, qui peut changer d'un systeme a un autre.
de plus, une simpe comparaison binaire est plus rapide qu'un Instr
Enfin, ca prends en compte des nombres plus grands que 65535...
dead33
Messages postés
29
Date d'inscription
vendredi 31 mars 2006
Statut
Membre
Dernière intervention
4 décembre 2007
-
donne moi le site ou te trouver ca
(svp)
A+
Renfield
Messages postés
17283
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
56 -
pardon ?
dead33
Messages postés
29
Date d'inscription
vendredi 31 mars 2006
Statut
Membre
Dernière intervention
4 décembre 2007
-
svp ICIoBRa donne moi le nom de ce site
mais un commentaire ecrie de dedans le nom du site
!!!!!!!!!!!!!!!!!!!!!!!svp svp!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!svp svp!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

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.