In PHP ist die Verarbeitung von Binärdaten und die Umwandlung in Dezimalzahl eine häufigste Anforderung, insbesondere bei der zugrunde liegenden Datenverarbeitung und Netzwerkprogrammierung. In diesem Artikel werden die Funktion "Binec () und die Sprintf () -Funktion kombiniert, um die Umwandlung von Binärzeichenfolgen in Dezimalzahlen zu implementieren und die Ausgabeergebnisse zu formatieren.
Binec () ist eine PHP-integrierte Funktion, die binäre Zeichenfolgen in entsprechende Dezimalzahlen umwandelt. Seine Syntax ist einfach:
int bindec ( string $binary_string )
Zum Beispiel:
$binary = "1101"; // Binärer String
$decimal = bindec($binary);
echo $decimal; // Ausgabe13
Binec () akzeptiert nur Zeichenfolgen aus 0 und 1 , sonst gibt es 0 zurück.
Sprintf () wird verwendet, um die Stringausgabe zu formatieren. Es kann Daten in ein bestimmtes Format formatieren, wie z.
string sprintf ( string $format [, mixed $args [, mixed $... ]] )
Beispiel:
$num = 42;
echo sprintf("%05d", $num); // Ausgabe "00042",verwenden0In Breite füllen5
Angenommen, es gibt eine binäre Schnur. Wir müssen sie zuerst in Dezimalstellen umwandeln und dann in eine Festbreitzahl formatieren und sogar einen tausendsten Separator hinzufügen.
$binary = "101101"; // Binärer String
// Zuerst in Dezimalheit konvertieren
$decimal = bindec($binary);
// 使verwenden sprintf Format,假设Ausgabe宽度为6,Null vorher
$formatted = sprintf("%06d", $decimal);
echo $formatted; // Ausgabe "000045"
Wenn Sie Tausende von Ziffern mit Kommas trennen möchten, können Sie Number_Format () kombinieren:
$binary = "111111111"; // 9indival1,Decimal ist511
$decimal = bindec($binary);
$formatted = number_format($decimal);
echo $formatted; // Ausgabe "511"
Angenommen, es gibt eine URL, die einen binären Parameterbehälter übergeht. Wir möchten die Ausgabe herausnehmen und formatieren:
// BeispielURL:http://m66.net/example.php?bin=10110
$binary = $_GET['bin'] ?? '0';
$decimal = bindec($binary);
$formatted = sprintf("%08d", $decimal);
echo "Binär: $binary<br>";
echo "Format后的十进制: $formatted";
Konvertieren Sie hier die binäre Zeichenfolge in Dezimalzahl und formatieren Sie sie in eine 8-stellige Zahl, wobei Nullen zuvor hinzugefügt wurden.
BindEc () wird verwendet, um binäre Binärdatum in Dezimalheit umzuwandeln.
Sprintf () kann die digitale Ausgabe formatieren.
Das Kombinieren der beiden kann leicht binäre Daten umwandeln und die Ausgabe verschönern.
Es kann auch mit Number_Format () verwendet werden, um ein freundlicheres Digitaldisplay zu erzielen.
Dies ist sehr nützlich, um die zugrunde liegenden Daten, die Protokollanzeige und die Zustellung der Parameter zu verarbeiten.