Aller au contenu

Bases 2,8,10,16


Messages recommandés

Posté(e)

Base binaire constituée de

0, 1

Base octale constituée de

0, 1, 2, 3, 4, 5, 6, 7

Base décimale constituée de

0, 1, 2, 3, 4, 5, 6, 7, 8, 9

Base hexadécimale constituée de

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

 

A=10 ; B=11; C=12 ; D=13 ; E=14 ; F=15

 

Première fonction permettant de renvoyer le caractère équivalent à notre nombre:

function returnChar(n: number) :: text:
   if {_n} is smaller or equal to 9:
       return "%{_n}%"
       stop
   set {_text} to "ABCDEF"
   set {_s} to 10
   loop {_text} split by "":
       if {_s} is {_n}:
           return "%loop-value%"
           stop
       add 1 to {_s}

 

Deuxième fonction permettant de récupérer la valeur de notre nombre dans la base désirée:

function Convert(base: number, nombre: number) :: text:
   while {_nombre}/{_base} is not 0:
       if {_x} is not set:
           set {_x} to "%returnChar({_nombre} - floor({_nombre}/{_base})*{_base})%"
       else:
           set {_x} to "%returnChar({_nombre} - floor({_nombre}/{_base})*{_base})%%{_x}%"
       set {_nombre} to floor({_nombre}/{_base})
   return {_x}

 

Commande pour tester:

command /nb <number> <number>:
   trigger:
       if arg 1 is 2 or 8 or 10 or 16:
           send "%Convert(arg 1, arg 2)%" to sender
       else:
           send "Base inexistante." to sender

  • J'aime 3

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.