Accueil > > > CONVERSION BASE 10 <====> BASE 256 (CODE ASCII)
CONVERSION BASE 10 <====> BASE 256 (CODE ASCII)
Information sur la source
Description
Ce code permet de convertir un nombre entier en chaîne de caractère. L'intérêt est que cela fait gagner beaucoup de place (par exemple quand on écrit dans un fichier de sauvegarde DAT). De même, on peut traduire une chaîne de caractère en un nombre en base10. Toutes les limites de valeurs sont indiquées dans les lignes de commentaires. D'ailleurs, n'hésitez pas à les supprimer : elles prennent la moitié du code.
Source
- Sub Conversion256(Base10)
- On Error Resume Next 'Evite les erreurs de dépassement de capacités
- 'Valeur maximum pour Base10 = 9223372036854775
- 'Initialisation des valeurs
- Puissance256 = 0
- Base256 = ""
- 'Calcul de la puissance en base 256 du nombre en base 10
- CP1 = Base10
- While (CP1 / 256) >= 1
- Puissance256 = Puissance256 + 1
- CP1 = Int(CP1 / 256)
- Wend
- 'Ecriture de la chaîne caractère Base256
- For a% = 0 To Puissance256
- CP2 = Int(Base10 / 256 ^ (Puissance256 - z%))
- Base256 = Base256 + Chr(CP2)
- Base10 = Base10 - (CP2 * (256 ^ (Puissance256 - z%)))
- Next a%
- 'à la sortie de la fonction, on a le nombre désiré en base 256, soit en mode ASCII 256.
- 'remarque: la plage de caractère va de 0 à 255 et non de 1 à 256.
- Exit Sub
- End Sub
-
- 'exemple: codage de 64345 en base 256
- '64345 = 251 * 256 ^ 1 + 89 * 256 ^ 0
- 'Base256 = Chr(251) & Chr(89) = "ûY"
-
-
-
- Sub Conversion10(Base256)
- On Error Resume Next 'Evite les erreurs de dépassement de capacités
- 'Valeur maximum pour Base256 = "ÿÿÿ" = Chr(127) & Chr(255) & Chr(255) & Chr(255)
- 'Initialisation de Base10
- Base10 = 0
- 'Ecriture de la chaîne caractère Base10
- For b% = 0 To Len(Base256) - 1
- Base10 = Base10 + (Asc(Right(Base256, 1)) * 256 ^ b%)
- Base256 = Left(Base256, Len(Base256) - 1)
- Next b%
- 'à la sortie, on a le nombre en base 10 tiré d'une chaîne de caractère
- End Sub
-
- 'exemple: décodage de "+7" en base 10
- 'Base256 = Chr(43) & Chr(55) = "+7"
- 'Base10 = 55 * 256 ^ 0 + 43 * 256 ^ 1 = 11063
-
Sub Conversion256(Base10)
On Error Resume Next 'Evite les erreurs de dépassement de capacités
'Valeur maximum pour Base10 = 9223372036854775
'Initialisation des valeurs
Puissance256 = 0
Base256 = ""
'Calcul de la puissance en base 256 du nombre en base 10
CP1 = Base10
While (CP1 / 256) >= 1
Puissance256 = Puissance256 + 1
CP1 = Int(CP1 / 256)
Wend
'Ecriture de la chaîne caractère Base256
For a% = 0 To Puissance256
CP2 = Int(Base10 / 256 ^ (Puissance256 - z%))
Base256 = Base256 + Chr(CP2)
Base10 = Base10 - (CP2 * (256 ^ (Puissance256 - z%)))
Next a%
'à la sortie de la fonction, on a le nombre désiré en base 256, soit en mode ASCII 256.
'remarque: la plage de caractère va de 0 à 255 et non de 1 à 256.
Exit Sub
End Sub
'exemple: codage de 64345 en base 256
'64345 = 251 * 256 ^ 1 + 89 * 256 ^ 0
'Base256 = Chr(251) & Chr(89) = "ûY"
Sub Conversion10(Base256)
On Error Resume Next 'Evite les erreurs de dépassement de capacités
'Valeur maximum pour Base256 = "ÿÿÿ" = Chr(127) & Chr(255) & Chr(255) & Chr(255)
'Initialisation de Base10
Base10 = 0
'Ecriture de la chaîne caractère Base10
For b% = 0 To Len(Base256) - 1
Base10 = Base10 + (Asc(Right(Base256, 1)) * 256 ^ b%)
Base256 = Left(Base256, Len(Base256) - 1)
Next b%
'à la sortie, on a le nombre en base 10 tiré d'une chaîne de caractère
End Sub
'exemple: décodage de "+7" en base 10
'Base256 = Chr(43) & Chr(55) = "+7"
'Base10 = 55 * 256 ^ 0 + 43 * 256 ^ 1 = 11063
Conclusion
Au cas où ce code comporterait des bugs, n'hésitez pas à me le signaler.
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
conversion qbasic en VB6 [ par Jeanlouis ]
Bonjour,J'aimerai savoir comment convertir ce programme qbasic en vb6?ClsPrint " choisir le programme de conversion qui vous convient"Print " -----
conversion dossier en fichier, ou autre solution ?? [ par ralf19b3 ]
voila je suis actuellement en train de creer une base de donne et je souhaiterait y integrer une fonction de restauration de ma base, ce qui voudrer d
conversion Base Access vers VB ????? [ par stoomm ]
Quelqu'un connait un bon logiciel pour convertir une base ACCESS ou au moins les formulaires et les modules vers VBMerci. A+.Stoomm
[Access 2.0]Conversion [ par fada09 ]
Salut,J'ai un ENOOORME problème.J'ai réalisé une base de données sous Access2000 et le problème est que l'enterprise ne possède que Access 2.0 sur les
conversion d'un réel inférieur à 1 en base 2 [ par spizzou ]
" Une source émet n symboles S1, S2, ... , Sn avec les probabilitées respectives P1, P2, ... , Pn classées dans
conversion access03-->97 ?? [ par antoine_ferard ]
Serait-il possible, via le code, de convertir une base Access2003 vers une base Access97 ?
Conversion d'une base sql vers mysql [ par mryassine ]
Salut a vous tous Pouvez vous m'indiquer s'il vous plait comment convertir une base sql vers mysql? Merci d'avance. Yassine
conversion base de données 2007 en access 2000 [ par elnico16 ]
bonjour, j'ai une base de données que j'ai converti en access2007 qui etait sous 97 et que je dois reconvertir en version antérieure sous access2000 m
Erreur de connexion base de données oracle [ par kijx ]
Bonjour , J'ai un petit soucis au niveau de la connexion a la base de donnée , un message d'erreur s'affiche : [code=autre]Une erreur s'est produite
insertion dans base de données [ par kaoutar90 ]
Bonjour !! SVP je veux insérer dans un champs dans la base de données à partir d'une requête pouvez-vous m'indiquez comment écrire cette requête Merc
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|