CONVERTISSEUR DE BASE DÉCIMALE, BINAIRE, HEXADÉCIMAL, ...

Messages postés
1044
Date d'inscription
lundi 7 mars 2005
Statut
Membre
Dernière intervention
13 juillet 2010
- - Dernière réponse :  Dev - 7 mai 2018 à 17:23
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/48301-convertisseur-de-base-decimale-binaire-hexadecimal

N'as marche pas ce code
syl20dies
Messages postés
13
Date d'inscription
mardi 21 octobre 2008
Statut
Membre
Dernière intervention
29 janvier 2009
-
simplement parcque des fois on connait pas la fonction qui permet de l'ecrire en 1 ligne ;-), merci pour str_pad();
ceci dit quand on passe d'un language à un autre, il est parfois plus rapide de réecrire des choses qui existent que de chercher dans un manuel parmis des miliers de fonctions plus ou moins bien documentées celle qui nous eviterait d'écrire 3 lignes basiques, il en va de même pour la politique de masquage des données dans les variables et parametres de fonctions, mais merci avous deux AlphaOrionis et jeca, j'en prend note ;-)
cs_jeca
Messages postés
341
Date d'inscription
mercredi 17 juillet 2002
Statut
Membre
Dernière intervention
14 juillet 2011
11 -
Pourquoi faire simple quand on peut faire compliqué :
<?php
$valeur = 3;
echo str_pad(base_convert(3, 10, 2), 8, '0', STR_PAD_LEFT);
//-- affiche : 00000011 -------------
?>
Dans tous les cas, les fonctions natives sont plus rapides. Et pourquoi écrire dix lignes quand une seule suffit ?
AlphaOrionis
Messages postés
12
Date d'inscription
dimanche 8 octobre 2006
Statut
Membre
Dernière intervention
29 octobre 2008
-
Je pense que le plus pratique reste de rajouter ta petite fonction.

Pour ta fonction, cette ligne est inutile : $newstr=$pstr;
$pstr est déjà une variable locale, prend juste soin de lui donner un nom unique. ;)
syl20dies
Messages postés
13
Date d'inscription
mardi 21 octobre 2008
Statut
Membre
Dernière intervention
29 janvier 2009
-
Bonjour, l'avantage de réecrire du built-in, c'est de pouvoir le recoder si l'on veut en changer légerement le fonctionement.
Aussi je me demandais peut on editer de telles fonctions?(je suis sous windows avec easyphp)existe t'il un répertoire contenant les classes built-in, ou sont elles compilées et sont elles plus rapides en termes d'execution qu'une classe ecrite à la main qui contiendrait exactement le même code?

en l'occurence si je voulais que convertDecToXBase( 2, 3, false) retourne '00000011' et non '11' vaut'il mieux?:

1)ecrire une fonction style
function completechaine($pstr,$d){
$newstr=$pstr;
while(strlen($newstr)<$d){$newstr="0".$newstr;}
return $newstr;
}
et faire completechaine(decbin(3),8)

ou

2)
récrire une classe comme nicof3 en ajoutant un parametre pour la longueur de la chaine retournée?

Merci d'avance pour vos suggestions