PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのbindec()関数とは?使い方とサンプルコードをわかりやすく解説

bindec()関数の定義と使い方

PHPのbindec()関数は、文字列として渡された2進数表記を10進数に変換して返す関数です。文字列内の2進数は、符号なし整数として解釈されます。

この関数は通常、10進数の整数(int)を返しますが、変換結果が大きすぎる場合には、サイズの都合上float型を返すことがあります。

構文

bindec ( string $binary_string ) : number

パラメータ

No.パラメータと説明
1binary_string
2進数表記を含む文字列を指定します。「1」と「0」以外の無効な文字はすべて無視されます。

戻り値

bindec()関数は、引数として渡された文字列内の2進数に対応する10進数の値を返します。

対応するPHPバージョン

この関数は、PHP 4.x、PHP 5.x、PHP 7.xのすべてのバージョンで利用可能です。

使用例1:基本的な2進数から10進数への変換

次の例では、2進数「1101」を10進数に変換し、結果として13が返されます。

<?php
   $arg='1101';
   $val=bindec($arg);
   echo "bindec('" . $arg . "') = " . $val;
?>

出力結果

bindec('1101') = 13

使用例2:無効な文字は無視される

「1」または「0」以外の文字は無視されるため、「110011.11」は「11001111」として処理されます。その結果、10進数では207となります。

<?php
   $arg='110011.11';
   $val=bindec($arg);
   echo "bindec('" . $arg . "') = " . $val;
?>

出力結果

bindec('110011.11') = 207

使用例3:2進数以外の文字のみの場合

文字列に2進数の文字(1または0)が一切含まれていない場合、結果は0になります。

<?php
   $arg='Hello';
   $val=bindec($arg);
   echo "bindec('" . $arg . "') = " . $val;
?>

出力結果

bindec('Hello') = 0

使用例4:符号なし整数としての解釈

bindec()関数は、2進数文字列を常に符号なし整数として解釈します。そのため、マイナス記号が含まれていても無視され、正の値として変換されます。

<?php
   $arg='-1111';
   $val=bindec($arg);
   echo "bindec('" . $arg . "') = " . $val;
?>

出力結果

bindec('-1111') = 15

まとめ

bindec()関数は、2進数の文字列を10進数に変換するシンプルで便利な関数です。無効な文字は自動的に無視され、負の符号も考慮されない点に注意して使用しましょう。2進数と10進数の相互変換を行う場合は、逆の変換を行うdecbin()関数と併せて覚えておくと便利です。

  1. PHPのbindec()関数とは?使い方とサンプルコードをわかりやすく解説

    bindec()関数の定義と使い方PHPのbindec()関数は、文字列として渡された2進数表記を10進数に変換して返す関数です。文字列内の2進数は、符号なし整数として解釈されます。この関数は通常、10進数の整数(int)を返しますが、変換結果が大きすぎる場合には、サイズの都合上float型を返すことがあります。構文bindec ( string $binary_string ) : numberパラメータNo.パラメータと説明1binary_string2進数表記を含む文字列を指定します。「1」と「0」以外の無効な文字はすべて無視されます。戻り値bindec()関数は、引数として渡された文字

  2. PHPのbindec()関数とは?2進数を10進数に変換する方法を解説

    PHPのbindec()関数は、2進数で表現された文字列を10進数の数値に変換するための組み込み関数です。ビット演算の結果やフラグ管理など、2進数形式のデータを人間が読みやすい10進数として扱いたい場面で役立ちます。 構文 bindec(bin_str) パラメータ bin_str − 変換対象となる2進数の文字列(「0」と「1」のみで構成される文字列) 戻り値 bindec()関数は、指定された文字列 bin_str を10進数に変換した値を返します。変換結果が整数型の最大値を超える場合は、浮動小数点数(float)として返される点にも注意してください。 使用例 次の例では、2進数の文字