Comment faire pour convertir un nombre décimal en un nombre binaire dans une chaîne

Traductions disponibles Traductions disponibles
Numéro d'article: 109260 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Résumé

L'exemple de programme suivant montre comment convertir un nombre décimal en sa représentation binaire équivalente stockée dans une chaîne.

Ce programme accepte un nombre décimal positif de neuf chiffres et retourne une chaîne de 32 caractères qui représente le nombre en notation binaire. Les nombres négatifs sont convertis au format binaire de 32 chiffres, complément à deux, utilisé par les entiers longs dans Basic.

Plus d'informations

Dans nombres décimaux (base-dix numéros), chaque décimale est une puissance de 10. Chiffres décimaux peuvent avoir des valeurs de zéro à neuf. Dans nombres binaires (base de deux nombres), chaque décimale est une puissance de deux. Chiffres binaires peuvent uniquement avoir des valeurs de 0 ou 1.

Exemple de programme

  1. Démarrez un nouveau projet dans Visual Basic. Form1 est créé par défaut.
  2. Ajoutez deux zones de texte à Form1. Vérifiez chaque zone de texte plus de 32 caractères large.
  3. Double-cliquez sur la zone de texte Texte1 pour ouvrir sa fenêtre de code. Choisissez l'événement change dans la zone procédure. Ajoutez le code suivant à l'événement Change Texte1 :
       Sub Text1_Change ()
    
          Dim i As Long, x As Long, bin As String
          Const maxpower = 30   ' Maximum number of binary digits supported.
          text1.MaxLength = 9   ' Maximum number of decimal digits allowed.
          text2.Enabled = False ' Prevent typing in second text box.
          bin = ""  'Build the desired binary number in this string, bin.
          x = Val(text1.Text) 'Convert decimal string in text1 to long integer
    
          If x > 2 ^ maxpower Then
             MsgBox "Number must be no larger than " & Str$(2 ^ maxpower)
             text2.Text = ""
             Exit Sub
          End If
    
          ' Here is the heart of the conversion from decimal to binary:
    
          ' Negative numbers have "1" in the 32nd left-most digit:
          If x < 0 Then bin = bin + "1" Else bin = bin + "0"
    
          For i = maxpower To 0 Step -1
             If x And (2 ^ i) Then   ' Use the logical "AND" operator.
                bin = bin + "1"
             Else
                bin = bin + "0"
             End If
          Next
          text2.Text = bin  ' The bin string contains the binary number.
    
       End Sub
    						
  4. Démarrez le programme, ou appuyez sur la touche F5. Entrez des nombres décimaux dans la première zone de texte. Le nombre équivalent binaire affiche dans la deuxième zone de texte.
Remarque : ce programme convertit les nombres négatifs décimales au format binaire interne complément à deux utilisé par Basic. Dans ce format, le chiffre binaire de la plus à gauche (le chiffre de trente secondes dans un entier long) sera toujours 1 pour un nombre négatif et 0 pour un nombre positif.
Decimal Value    Binary Value
-----------------------------
0                00000000000000000000000000000000
21               00000000000000000000000000010101
1024             00000000000000000000010000000000
32767            00000000000000000111111111111111
32768            00000000000000001000000000000000
65536            00000000000000010000000000000000
16777216         00000001000000000000000000000000
999999999        00111011100110101100100111111111
-1               11111111111111111111111111111111
-3               11111111111111111111111111111101
				

Propriétés

Numéro d'article: 109260 - Dernière mise à jour: mardi 9 décembre 2003 - Version: 2.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Visual Basic 2.0 Édition Standard
  • Microsoft Visual Basic 3.0 Édition professionnelle
  • Microsoft Visual Basic 2.0 Édition professionnelle
  • Microsoft Visual Basic 3.0 Édition professionnelle
Mots-clés : 
kbmt KB109260 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 109260
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.
Exclusion de responsabilité concernant les contenus obsolètes dans la Base de connaissances
Cet article concerne des produits pour lesquels Microsoft n'offre plus de support. Il est par conséquent fourni « en l'état » et ne sera plus mis à jour.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com