Voir le code d'une fonction

Résolu
math_b67
Messages postés
510
Date d'inscription
dimanche 5 octobre 2008
Statut
Membre
Dernière intervention
1 juin 2021
- Modifié par math_b67 le 18/11/2013 à 12:03
math_b67
Messages postés
510
Date d'inscription
dimanche 5 octobre 2008
Statut
Membre
Dernière intervention
1 juin 2021
- 20 nov. 2013 à 14:23
Bonjour,

Je ne sais pas si c'est possible, mais je souhaiterai voir le code qui se trouve dans une fonction PHP.
Par exemple, au lieu d'utiliser les fonctions "decbin" ou "bindec" pour convertir du décimal en binaire et inversement, je voudrais voir l'intérieur de la fonction pour la reproduire manuscritement.

Je vous remercie d'avance.

Mathieu

2 réponses

cs_AlexN
Messages postés
694
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
18
19 nov. 2013 à 17:59
Bonjour,

Tu sembles chercher les sources d'un interpréteur php.
En voici un : https://github.com/php/php-src
Cet interpréteur est écrit en C. Ça ne risque pas de t'aider beaucoup.

Les fonctions bindec et decbin sont dans math.c


/* {{{ proto int bindec(string binary_number)
Returns the decimal equivalent of the binary number */
PHP_FUNCTION(bindec)
{
zval **arg;

if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Z", &arg) == FAILURE) {
return;
}
convert_to_string_ex(arg);
if (_php_math_basetozval(*arg, 2, return_value) == FAILURE) {
RETURN_FALSE;
}
}


/* {{{ proto string decbin(int decimal_number)
Returns a string containing a binary representation of the number */
PHP_FUNCTION(decbin)
{
zval **arg;
char *result;

if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Z", &arg) == FAILURE) {
return;
}
convert_to_long_ex(arg);
result = _php_math_longtobase(*arg, 2);
RETURN_STRING(result, 0);
}

--
1
math_b67
Messages postés
510
Date d'inscription
dimanche 5 octobre 2008
Statut
Membre
Dernière intervention
1 juin 2021

20 nov. 2013 à 14:23
Hahah, en effet ça ne m'aide pas beaucoup, je pensais trouver l'algorithme complet en PHP, je ne savais pas que les fonctions étaient codées en C, j'aurais au moins appris cela :)

Merci
0