Funções de conversão de bases numéricas em PHP
Conversão de bases numéricas em PHP
Muitas vezes precisamos realizar conversões de bases numéricas em dados recebidos pelo script PHP. Por sorte, a linguagem possui uma série de funções internas que permitem realizar essas conversões de forma muito simples e rápida.
Vamos mostrar nessa lição como utilizar as funções do PHP para conversão entre as bases decimal, binária, hexadecimal e octal, além de uma função para conversão entre qualquer base numérica, até a base 36.
Função decoct – Converter de decimal para octal
Sintaxe:
string decoct($n)
Essa função retorna uma string contendo o valor de n (inteiro) convertido para octal. O valor-limite para conversão é 4294967295.
Exemplo: converter o número 35 para octal:
$n = 35; $octal = decoct($n); echo($n . " em octal equivale a " . $octal . "\n");
Função octdec – Converter um número octal para o sistema decinal
Sintaxe:
number octdec(string $octal)
$octal é a string que representa o valor octal a ser convertido em decimal.
Exemplo: converter o número 777 octal em decimal:
$octal = '777'; $n = octdec($octal); echo($octal . " em decimal equivale a " . $n . "\n");
Se o número a converter ultrapassar o limite de inteiro da plataforma (em decimal), ele será retornado como float.
Função decbin – Converter um número decimal para binário
Sintaxe:
string decbin(int $n)
A função decbin retorna uma string que representa o valor de $n convertido para o sistema binário. O maior valor que pode ser convertido é 4294967295 em decimal.
Exemplo: Converter o número decimal 1023 em binário:
$n = 1023; $binario = decbin($n); echo($n . " em binário equivale a " . $binario . "\n");
Função bindec – Converter um número binário em decimal
Sintaxe:
number bindec (string $binario)
Essa função retorna o equivalente decimal de uma string que representa um número decimal.
Exemplo: Converter o número binário 101101 em decimal:
$binario = '101101'; $n = bindec($binario); echo($binario . " em decimal equivale a " . $n . "\n");
Função hexdec – Converter um número hexadecimal para decimal
Sintaxe:
number hexdec(string $hexadecimal)
A função hexdec retorna o equivalente decimal de uma string que representa um número hexadecimal.
Essa função ignora qualquer caractere não hexadecimal que for encontrado.
Exemplo: Converter o número hexadecimal AB23h em binário:
$hexadecimal = 'AB23'; $n = hexdec($hexadecimal); echo($hexadecimal . " em decimal equivale a " . $n . "\n");
Função dechex – Converter um número decimal em uma string hexadecimal
Sintaxe:
string dechex (int $n)
Essa função retorna uma string que representa o valor de $n convertido para o sistema hexadecimal. O maior valor que pode ser convertido é 4294967295 em decimal.
Exemplo: Converter o número decimal 1563 em hexadecimal:
$n = 1563; $hexadecimal = dechex($n); echo($n . " em hexadecimal equivale a " . $hexadecimal . "\n");
Função base_convert – Converter números entre bases arbitrárias
A função base_convert permite converter um número entre bases arbitrárias.
Sintaxe:
string base_convert(string $numero, int $daBase, int $paraBase)
Essa função retorna uma string contendo um número representado na base $paraBase. Em $daBase informamos a base atual do número.
A função suporta as bases numéricas de 2 a 36
Exemplo:
Convertendo o número hexadecimal AFC3h para a base 9:
$hexadecimal = 'AFC3'; $numBase9 = base_convert($hexadecimal, 16, 9); echo($hexadecimal . " na base 9 equivale a " . $numBase9 . "\n");
Mais informações sobre as funções de conversão de bases numéricas podem ser obtidas na página oficial do PHP.
Anterior: Introdução às Funções em PHP
Escreva um comentário