Les bases
Siham
-
random -
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!
HELP ME,PLEASE!
4 réponses
-
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!!! -
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 ...
-
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.....-
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.
-
-
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