Les bases

Siham -  
 random -
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. souak
     
    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
  2. Galsungen Messages postés 6951 Statut Contributeur 1 424
     
    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
  3. random
     
    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. Siham
       
      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
  4. random
     
    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