PHP :: Aufgabe #168 :: Lösung #4

5 Lösungen Lösungen öffentlich
#168

Zahlen umwandeln: Binär zu Dezimal

Anfänger - PHP von Nachbar - 13.09.2017 um 14:19 Uhr
Schreibe eine Funktion, die Zahlen aus dem Dualsystem in Zahlen des Dezimalsystems umwandelt.

Beispiel:

Binär: 11010
Dezimal: 26
#4
vote_ok
von Exception (7090 Punkte) - 20.05.2018 um 13:38 Uhr
Quellcode ausblenden PHP-Code
// die einfachste möglichkeit: das nehmen, was es bereits gibt:
echo decbin('42') . ' entspricht ' . bindec('101010') . ', oder in Hexadezimal: ' . strtoupper(dechex('42')) . '<br />';


// oder sollte man die obere lösung warum auch immer nicht nutzen wollen: lösung mit einer eigenen funktion:
myDec2Bin('101010');

function myDec2Bin($binZahl)
{
	$result = 0;
	$numbers = str_split(strrev($binZahl)); // string umdrehen, sodass die stellen der niedrigsten wertigkeit ganz vorn stehen (für index nachher wichtig / macht das leben einfacher)

	for ($index=0; $index < sizeof($numbers); $index++) 
	{ 
		$result += $numbers[$index] * pow(2, $index); // addiere zu result "index * (2^index)"
	}

	echo $binZahl.' entspricht '.$result;
}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben