PHPs Binesec () akzeptiert einen Parameter vom String-Typ, der sich in einem gültigen binären Format befinden muss, dh nur 0 und 1 Zeichen sind enthalten. Beispiele sind wie folgt:
<?php
echo bindec("1011"); // Ausgabe 11
?>
In diesem Beispiel ist "1011" eine Standard -Binärdarstellung, und das Ergebnis ist 11 in Dezimalzahl.
Die Antwort lautet: Es wird sich nicht auswirken .
Binec () ignoriert die führenden 0 und berechnet das Gewicht jedes Bits normalerweise von rechts nach links. Zum Beispiel:
<?php
echo bindec("0001011"); // 依旧Ausgabe 11
?>
Selbst wenn Sie "0001011" bestehen, wird PHP nach "1011" immer noch analysiert und das Endergebnis ändert sich nicht.
Dies bedeutet, dass Sie bei Verwendung von Binec () keinen Code schreiben müssen , um die führenden Nullen zu reinigen.
Nehmen wir an, Sie erstellen ein System, das Dezimalzahlen aus benutzerfreundlichen Binärdaten extrahiert. Die URL kann wie folgt sein:
https://m66.net/convert.php?bin=00011001
Sie können damit umgehen:
<?php
$binary = $_GET['bin'] ?? '0';
$decimal = bindec($binary);
echo "Das Dezimalergebnis ist: $decimal";
?>
Auch wenn der Benutzer "00011001" einreicht, ist die Ausgabe in Dezimalzahl 25 noch korrekt. Es sind keine zusätzliche LTRIM -Operation ($ Binary, '0') erforderlich.
Obwohl BindEc () nicht für führende Nullen empfindlich ist, müssen Sie einige Dinge achten, um darauf zu achten:
Stellen Sie sicher, dass der in der Zeichenfolge übergebene String nur 0 und 1 enthält. Andere Zeichen können Berechnungsfehler oder Ausgaben verursachen, um die Erwartungen nicht zu erfüllen.
Wenn der Benutzer eine leere Zeichenfolge ( "" ) eingibt, gibt Binec () 0 zurück. Möglicherweise benötigen Sie zusätzliche Eingangsprüfung, um dies zu verhindern.