PHP - CÓDIGO DE CONVERSIÓN [DUDA]

   
Vista:

CÓDIGO DE CONVERSIÓN [DUDA]

Publicado por Alfredo (7 intervenciones) el 14/12/2016 09:50:48
NECESITO CONSEJO:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
//para binario $base = range(0, 1);
//no me funciona por ahora en el resto (octal, hexa..)
 
        $base = range(0, 1);
        $number = 12;
 
        function convertir($base, $numero){
 
                $array = array();
                $n = count($base);
                $i = $numero;
 
                while(true){
 
						if($i <= 0){
 
                                break;
                        }else{
                                $r = ($i % $n);
 
                              //reasignación del valor de $i
 
                                $i = ($i - $r) / $n;
 
                                $array[] = $base[$r];
                        }
                }
                $string = implode("", $array);
                return $string;
        }
 
        $string = convertir($base, $numero);
        echo $string;
 
?>

//Quisiera saber que rango tendría que poner para que me convirtiese cualquier numero decimal a hexadecimal y a octal, porque he estado probando con muchas combinaciones y no sale :s
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

CÓDIGO DE CONVERSIÓN [DUDA]

Publicado por xve (6035 intervenciones) el 14/12/2016 17:47:01
Hola Alfredo, aquí tienes un código de como pasar a hexadecimal:
http://www.lawebdelprogramador.com/codigo/PHP/2122-Conversor-de-cadena-a-hexadecimal.html

Para convertir de binardio a octal, puedes utilizar la función: decoct()
http://php.net/manual/en/function.decoct.php
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

CÓDIGO DE CONVERSIÓN [DUDA]

Publicado por Alfredo (7 intervenciones) el 14/12/2016 23:21:10
Gracias xve, pero esque para las conversiones nos exigen que sean a mano, no nos dejan emplear funciones predefinidas :s
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip

CÓDIGO DE CONVERSIÓN [DUDA]

Publicado por kip (828 intervenciones) el 15/12/2016 04:40:34
Hola, la verdad es que no veo necesario el crear el array de rango de numeros, lo mejor es pasarle la base e ir haciendo el proceso de division correspondiente.

He creado una funcion para ayudarte:
http://www.lawebdelprogramador.com/codigo/PHP/3807-Funcion-para-convertir-numero-decimal-a-cualquier-otro-sistema-de-numeracion-desde-binario-hasta-hexadecimal.html

La funcion recibe como parametro el numero en decimal y el numero de la base del sistema de numeracion a convertir, por ejemplo en el caso del hexadecimal es 16.

Pruebala y cuentanos si es lo que buscas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

CÓDIGO DE CONVERSIÓN [DUDA]

Publicado por Alfredo (7 intervenciones) el 15/12/2016 18:35:45
Perfecto, muchisimas gracias :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar