begin process at 2012 02 16 10:38:06
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths

 > CONVERSION BASE 10 <====> BASE 256 (CODE ASCII)

CONVERSION BASE 10 <====> BASE 256 (CODE ASCII)


 Information sur la source

Note :
8,29 / 10 - par 7 personnes
8,29 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Maths Classé sous :conversion, base Niveau :Expert Date de création :15/04/2001 Vu :8 985

Auteur : lbs

Ecrire un message privé
Site perso
Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

 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

Source avec Zip Source avec une capture COURS SUR LES BOÎTES DE DIALOGUES STANDARDS
Source avec Zip Source avec une capture VISUAL ALARME
TROUVER SI UN NOMBRE EST UN MULTIPLE D'UN AUTRE
Source avec Zip Source avec une capture CONVERTISSEUR DE CODES COULEUR DÉCIMAL - HEXADÉCIMAL - RGB
CONVERSION D'UN TEMPS EN SECONDES AU FORMAT HH:MM:SS

 Sources de la même categorie

Source avec Zip Source avec une capture CONVERTISSEUR HEXAVIGÉSIMAL par shaeks
Source avec Zip Source avec une capture Source .NET (Dotnet) CRYPTOGRAPHIE AFFINE par Tigrou66
Source avec Zip Source avec une capture SCANNER FLEX par lajouad
Source avec Zip EQUATIONSECONDDEGRÉ,MATH,DEGRÉ par shadkitenge
Source avec Zip Source .NET (Dotnet) SOMME DE CHIFFRES CONTENUE DANS UN NOMBRE par alpha5

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture CONVERTISSEUR HEXAVIGÉSIMAL par shaeks
Source avec Zip CLASSE DE CONVERSION INTER-BASES (BASE 2-36 VERS BASE 2-36) par violent_ken
Source avec Zip Source avec une capture Source .NET (Dotnet) CONVERTISSEUR UNIVERSEL EN BASES MULTIPLES par chewbaka62
Source avec Zip Source avec une capture Source .NET (Dotnet) CONVERSION DE BASE2 BASE10 BASE16 par alfr3d
Source avec Zip Source avec une capture TRADUCTEUR VB6.VBP EN VB5.VBP par joro

Commentaires et avis

Commentaire de ceyquem le 04/03/2002 19:58:20

il est vrai qu'il est simple. de plus les on error resume next ne sont pas très propres. il vaudrait mieux prévoir une routine qui informe l'utilisateur de l'erreur.

 Ajouter un commentaire


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


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,655 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales