當前位置: 首頁> 最新文章列表> 怎麼利用PHP 的bindec() 函數配合decbin() 實現二進制和十進制之間的轉換?

怎麼利用PHP 的bindec() 函數配合decbin() 實現二進制和十進制之間的轉換?

M66 2025-07-08

在PHP 中,處理二進制和十進制之間的轉換非常方便,主要依賴於兩個內置函數: bindec()decbin() 。這兩個函數分別用於二進制轉十進制和十進制轉二進制。本文將詳細介紹這兩個函數的用法及如何結合使用它們,實現數據的雙向轉換。

1. bindec() 函數簡介

bindec()函數用於將一個二進制數(字符串形式)轉換為十進制數。它接收一個字符串參數,該字符串只包含字符01 ,返回對應的十進制整數。

文法:

 int bindec ( string $binary_string )

示例:

 <?php
$binary = "1101"; // 二進製字符串
$decimal = bindec($binary);
echo $decimal; // 輸出13
?>

2. decbin() 函數簡介

decbin()函數則是將十進制整數轉換為二進製字符串。它接收一個整數作為參數,返回該整數對應的二進製字符串。

文法:

 string decbin ( int $number )

示例:

 <?php
$decimal = 13;
$binary = decbin($decimal);
echo $binary; // 輸出1101
?>

3. 利用bindec() 和decbin() 實現互轉示例

下面是一個完整的示例,展示如何用這兩個函數實現二進制和十進制之間的相互轉換:

 <?php
// 定义一个二進製字符串
$binaryStr = "101101";

// 二進制轉十進制
$decimalNum = bindec($binaryStr);
echo "二進制 {$binaryStr} 轉換為十進制是: {$decimalNum}\n";

// 十進制转二進制
$binaryConverted = decbin($decimalNum);
echo "十進制 {$decimalNum} 转换为二進制是: {$binaryConverted}\n";
?>

輸出結果:

 二進制 101101 轉換為十進制是: 45
十進制 45 转换为二進制是: 101101

4. 結合應用場景

  • 數據存儲與傳輸:有些系統以二進製字符串保存數據,為了計算或展示需要轉成十進制數字。

  • 數字處理:在一些低級運算或算法中,需要頻繁在二進制與十進制間切換。

  • 用戶輸入:用戶可能以二進制形式輸入數字,需要轉換成十進制用於程序邏輯處理。

5. 額外提示

  • bindec()decbin()只支持正整數轉換,負數的轉換需要額外處理。

  • 輸入的二進製字符串必須是有效的,否則bindec()返回0。

  • 二進製字符串過長可能導致結果超出整數範圍,可考慮使用GMP 擴展處理大數。