Les Snippets

Connexion

Transformation de Base N

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 25/03/2006 23:57:44 et initié par EBArtSoft [Liste]
Date de mise à jour : 22/08/2006 10:37:49
Vue : 10854
Catégorie(s) : Maths, Algorithme
Langages dispo pour ce code :
- VB6, VBA
- ColdFusion MX
- PHP 3, PHP 4, PHP 5
- C# 1.x, C# 2.x
- Javascript
- Windev



Langage : VB6 , VBA
Date ajout : 25/03/2006
Posté par EBArtSoft [Liste]

Private Const char = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Function Base10N(ByVal Value As Long, ByVal Base As Long) As String
    Dim v1 As Long
    If (Base < 2) Then Exit Function
    If (Base > 36) Then Exit Function
    Do
        v1 = (Value Mod Base)
        Value = Int(Value / Base)
        Base10N = Mid$(char, 1 + v1, 1) & Base10N
    Loop While Value > 0
End Function

Function BaseN10(ByVal Value As String, ByVal Base As Long) As Long
    Dim v2 As Long
    Dim i  As Long
    Dim j  As Long
    If (Base < 2) Then Exit Function
    If (Base > 36) Then Exit Function
    For i = Len(Value) To 1 Step -1
        v2 = InStr(1, char, Mid$(Value, i, 1)) - 1
        If v2 < 0 Then Exit Function
        If v2 >= Base Then Exit Function
        For j = 1 To (Len(Value) - i)
            v2 = v2 * Base
        Next
        BaseN10 = BaseN10 + v2
    Next
End Function


Langage : ColdFusion MX
Date ajout : 30/03/2006
Posté par nickadele [Liste]
<b>Transformation d'un nombre en BaseN, renvoie une chaîne</b>
<cfoutput>
<br>FormatBaseN(10, 2): #FormatBaseN(10, 2)#
<br>FormatBaseN(1024, 16): #FormatBaseN(1024, 16)#
<br>FormatBaseN(125, 10): #FormatBaseN(125, 10)#
<br>FormatBaseN(10.75, 2): #FormatBaseN(10.75, 2)#
</cfoutput>
<b>Transformation d'une chaine en valeur numéric de baseN, renvoie un nombre</b>
<cfoutput>
<br>InputBaseN("1010", 2): #InputBaseN("1010", 2)#
<br>InputBaseN("3ff", 16): #InputBaseN("3ff", 16)#
<br>InputBaseN("125", 10): #InputBaseN("125", 10)#
<br>InputBaseN(1010, 2): #InputBaseN(1010, 2)#
</cfoutput>

Langage : PHP 3 , PHP 4 , PHP 5
Date ajout : 30/03/2006
Posté par nolii [Liste]
DateMAJ : 30/03/2006

<?php

        echo "base(10) : 541 => base(16) : ".base_convert(541,10,16)."<br />";
        echo "base(16) : 21D => base(2) : ".base_convert('21D',16,2)."<br />";
?>

Langage : C# 1.x , C# 2.x
Date ajout : 30/04/2006
Posté par Bidou [Liste]
DateMAJ : 22/08/2006
private const string CHAR = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";

public static int BaseNTo10(int baseFrom, string value) 
{
  if (baseFrom < 2 || baseFrom > 36) return -1;
  int v2 = 0; 
  int base10 = 0;
  for (int i = value.Length - 1; i>-1; i--) 
  {
    v2 = CHAR.IndexOf(value[i]);
    if (v2 < 0 || v2 >= baseFrom) return -1;    
    for (int j = 1; j < value.Length - i; j++) v2 *= baseFrom; 
    base10 += v2;
  }
  return base10; 
}

public static string Base10ToN(int baseTo, int value) 
{
  if (baseTo < 2 || baseTo > 36) return null; 
  System.Text.StringBuilder baseN = new System.Text.StringBuilder(); 

  do
  { 
     baseN.Insert(0, CHAR[value % baseTo]);
     value = (int)(value / baseTo); 
  }
  while (value > 0); 

  return baseN.ToString();
}







Langage : Javascript
Date ajout : 30/07/2006
Posté par FraGag [Liste]
// Transformation base 10 > base x
var n = 20; // Nombre à transformer
var base = 16; // Base cible
var result = n.toString(base); // Résultat, ici "14"
// Transformation base x > base 10
var s = "14"; // Chaîne à analyser
var base = 16; // Base de la chaîne (optionnel, par défaut 10)
var result = parseInt(s, base); // Résultat, ou NaN en cas d'erreur ; ici, 20.
// Attention, parseInt("010") renvoie 8, parce que le zéro initial fait penser parseInt()
// que c'est un nombre octal (en base 8). Le préfixe "0x" indique un nombre
// hexadécimal, mais celui-ci est plus évident. La base doit être 16 pour que ce préfixe
// soit analysé correctement, sinon l'analyse arrête au "x", donc le résultat est 0.
Langage : Windev
Date ajout : 12/10/2006
Posté par BURLOTJ [Liste]
FONCTION sBase(Local Valeur, Local Base est un entier = 10)
   sRetour est une Chaîne
   
   SI Base>1 ET Base<37 ALORS
      sRetour=Val(Valeur,Base)
   FIN
   RENVOYER sRetour
 
//----****----
//Utilisation
NombreCalcule=sBase(NombreAconvertir, 2)


Snippets en rapport avec : Transformation, Base n



Codes sources en rapport avec : Transformation, Base n

{PHP} [PHP5] EXCEPTIONERROR PACKAGE : TRANSFORMER TOUTES LES ERREURS PHP EN EXCEPTIONS INTERCEPTABLES
Ce package permet de transformer toutes les erreurs PHP en exceptions interceptables. En clair, sur...

{JAVA / J2EE} DKSWARPEDITOR : TRANSFORMEZ UNE IMAGE TRÈS SIMPLEMENT
Voici de nouveau une source qui fera parti d'une source beaucoup plus ambitieuse que je mettrais une...

{Delphi} MORPHING ENTRE DEUX IMAGES
Petit utilitaire de Morphing, code assez crade, mais efficace :)))))...

{Visual Basic, VB6, VB.NET, VB 2005} TRAITEMENT DES COULEURS (ÉCLAICISSEMENT, CONTRASTE, ETC...) D'UNE IMAGE
Simplement de quoi apprendre à effectuer ces traitements : - renforcements de tonalités - combinai...

{Visual Basic, VB6, VB.NET, VB 2005} DÉLIRES D'UN PEINTRE
A quoi donc va servir le code de cette petite application ? A RIEN ... RIEN DE RIEN .... sauf si ...

{PHP} TRANSFORMATION : IMAGE => ASCII ART
Ce code transforme l'image "img.jpg" en asciiart, la couleur de fond sur chaque caractère est la cou...

{C# / C#.NET} TRANSFORMATION D'UN XML À L'AIDE DE XSLT VERS HTML
Ce Code permet de faire la transformation du contenu d'un fichier XML(données brutes) vers une sorti...

{PHP} TRANSFORMER UN FICHIER TEXTE AVEC DES MAJUSCULES ET DES MINUSCULE UNIQUEMENT EN MINUSCULE.
Code déposé par GRUNENBERGER Benoît http://www.unrealnetwork.net Transformation d'un fichier tex...

{Javascript / DHTML} TRANSFORMATION DE TAILLE DÉPLACEMENT ET ACCROCHAGE D’IMAGE ET TEXTE
Changez les dimensions d’une image de 0 à plusieurs milliers de fois, ou le contraire : de plusieurs...

{Visual Basic, VB6, VB.NET, VB 2005} DOTNET 2.0 TRANSFORMATION XSLT D'UN FICHIER XML (VB.NET)
Bonjour, J'en avais plein le dos du message "Xsl.XslTransform est obsolète " dans mon Visual Stud...