Les bases

Salut, j'essais de comprendre comment transformer n'importe quels nombres en base 2, base 5, base 8, base 16. J'y arrive pas. J'ai compris pour le binaire mais bizarrement pas pour le reste.
HELP ME,PLEASE!

4 réponses

  1. bonjour

    désolé de ne pas avoir été clair

    je joins une fonction visual basic utilisable jusqu'à la base 200, cela fonctionnerait au delà, le problème c'est de trouver des signes pour
    représenter des chiffres

    Function cbase(ByVal nb As Long, base As Variant) As String
    Dim rep As String
    Dim nbetape As Byte
    Dim boucle As Byte
    Dim modulo As Variant
    On Error GoTo fin
    nbetape = CByte(Log(nb) / Log(base)) + 1
    For boucle = 1 To nbetape
    modulo = nb - (Int(nb / base) * base)
    If modulo >= 10 Then
    modulo = Chr(modulo + 55)
    End If
    rep = modulo & rep
    nb = Int(nb / base)
    Next boucle
    cbase = rep
    Exit Function
    fin:
    MsgBox ("données invalides")
    End Function
    0
    1. je te joins une explication rapide dans mon langage

      soit x= nombre a convertir
      y= base
      z result

      si x<base alors x=x
      sinon
      tant que x > base
      y=x modulo base
      si base>10 et y>=10 alors y= charactere(10+55) ou charactere fait reference au code asci
      z=y+z
      x=partie entiere(x/base)
      loop

      exemple pour 703710 à traduire en hexa

      base 16

      base 16
      X entier(x/base) X modulo base code z
      703710 43981 14 E E
      43981 2748 13 D DE
      2748 171 12 C CDE
      171 10 11 B BCDE
      10 0 10 A ABCDE

      evidemment cela ne marche qu'à partir de la base 10 mais il suffit de généraliser.....
      0
      1. Salut Random, merci bcp pour le début de tes explications. Mais alors ,je n'ai rien compris à ton language. Mais, c'est normal. J'en suis qu'au début des bases. De l'informatique, je ne connais que le binéaire. Cette après-midi, j'ai posé la question à une collégue de travail vraiment au hasard et elle m'a expliqué et j'ai compris mais il n'y avais pas de x, y... MCI encore et peut être à bientôt pour d'autre questions.
        0
    2. Contributeur
      base 16 = hexa décimale

      ps : appliques la même méthode que pour la base 2, avec des multiplications ou des divisions par l'indice de ta base (2, 16, ...)

      en hexa les valeur sont :

      0............0
      1............1
      2............2
      3............3
      4............4
      5............5
      6............6
      7............7
      8............8
      9............9
      10..........A
      11..........B
      12..........C
      13..........D
      14..........E
      15..........F

      Et un temps pour chaque chose sous le ciel ... 
      0
      1. Bonjour,
        J'ai de exos en informatique sur les bases. Le but est de écrire des nombres en base 5, 8, 10, 16. Par exemple, 129? Je ne sais pas comment faire. Le peu de cours que j'ai ,ne traite que les bases 2. Si quelqu'un pouvait m'aider,j'en serais super reconnaissante.
        Merci d'avance!!!
        0