PureBasic

Forums PureBasic
Nous sommes le Mer 17/Juil/2019 16:11

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 1 message ] 
Auteur Message
 Sujet du message: Multi_base
MessagePosté: Jeu 11/Avr/2013 10:08 
Hors ligne

Inscription: Lun 26/Avr/2004 0:40
Messages: 14535
par curiosité intellectuel , j'ai essayé de le souvenir comment on converti un nombre Decimal en Base 2
puis ensuite en base X

je me suis bien sur aidé d'internet pour me remettre a jour,

j'ai pondu ce petit code , qui je pense fonctionne pas mal
il a la particularité de ne pas utiliser les Puissances pour obtenir le resultat :)
il doit tenir jusqu'a la base 26 ??
de toute façon apres la base 26 , je ne vois pas comment on ecrit le nombre :lol:
en principe le systeme reste le meme quelque soit la base utilisé , donc "no limite" :)

voici le code :

Code:
; l'algo est basé sur le principe suivant :
; pour le nombre 94 en base 2
; 94/2 = 0 reste 47
; 47/2 = 1 reste 23
; 23/2 = 1 reste 11
; 11/2 = 1 reste 5
; 5/2 = 1 reste 2
; 2/2 = 0 reste 1
; donc : nombre/base .... on recup le resultat qu'on affiche, puis on prends le reste de la division comme nouveau nombre !

Declare.s Base(nombre,Base)


nombre=194
Debug "la valeur 194 en Decimal"
base=8 ; en Octal
debug  "en octal :"+Base(nombre,Base)
nombre=194
base=16 ; en Hexa
debug   "en Hexadecimal :"+Base(nombre,Base)
nombre=194
base=2 ; en Binaire
debug   "en Binaire:"+Base(nombre,Base)

nombre=194
base=20 ; en base 20 !!!!
debug   "en base 20:"+Base(nombre,Base)


calldebugger


Procedure.s Base(nombre,Base)
   ; By Dobro
   string_ref.s="0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z"
   while nombre>0
      reste=Mod(nombre,base)
      Resultat.s=Resultat.s+ StringField(string_ref.s,Reste+1,",")  ;;str(reste)
      nombre=nombre/base
   Wend
   ProcedureReturn ReverseString(Resultat.s)
Endprocedure; EPB


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 1 message ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  
cron

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye