PHP :: Aufgabe #168 :: Lösung #4
5 Lösungen
#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
Beispiel:
Binär: 11010
Dezimal: 26
#4
von Exception (7090 Punkte)
- 20.05.2018 um 13:38 Uhr
// 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
Seite 1 von 0
1
