@alexsteadfast
I am noob

Как реализовать алгоритм перевода числа из 16ой системы исчисления в 10 тичную и обратно?

Нужно реализовать алгоритм перевода числа из 16ой системы исчисления в 10 тичную, сложить эти числа и перевести обратно в 16ти ричную (не использую встроенные функции пхп) Как правильно реализовать алгоритм?
Так пытался перевести в 16ти ричную из 10:
for($Number;$Number>=16;){
$N = $Number / 16;
$rez = $rez . $N;
}
$Number = $rez;
return $Number;
}
  • Вопрос задан
  • 341 просмотр
Пригласить эксперта
Ответы на вопрос 2
@BorisKorobkov Куратор тега PHP
Web developer
Из 10ричной в любую другую: рекурсивно деление с остатком (... % 16), перевод в символы chr(ord('0') + $i)

В 10ричную: сначала символ перевести в число ord($c) - ord('0'), умножить на 16, рекурсивно перейти к следующему разряду
Ответ написан
Комментировать
@choupa
Архитектор (обычный, который строит)
function dec($h)	{
	$s = array('a'=>10, 'b'=>11, 'c'=>12, 'd'=>13, 'e'=>14, 'f'=>15);
	if ($h)	{
		$a = substr($h, -1);
		$h = dec(substr($h, 1));
		if (!($a<10))
			$a = $s[$a];
		return 10*$h + $a;
	}
}

function hex($d)	{
	$s = array(10=>'a', 11=>'b',  12=>'c', 13=>'e', 14=>'d', 15=>'f');
	if ($d)	{
		$a = $d % 16;
		$d = hex(($d-$a)/16);
		if ($a>=10)
			$a = $s[$a];
		return $d.$a;
	}
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы