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

PHPのdecbin()関数とは?10進数を2進数に変換する使い方を解説

decbin()関数とは

decbin()関数は、引数として渡された10進数の整数を2進数に変換し、その結果を文字列として返すPHPの組み込み関数です。戻り値は「0」と「1」だけで構成された文字列になります。

基本構文

decbin ( int $number ) : string

パラメータ

番号パラメータと説明
1number
2進数表現へ変換したい10進数の値を指定します。

戻り値

変換後の2進数を文字列として返します。

対応バージョン

この関数は PHP 4.x、PHP 5.x、PHP 7.x、および PHP 8.x で利用可能です。

使用例1:基本的な変換

次の例では、13 を2進数に変換し、「1101」が出力されます。

<?php
   $arg=13;
   $val=decbin($arg);
   echo "decbin(" . $arg . ") = " . $val;
?>

出力

decbin(13) = 1101

使用例2:小数を渡した場合

引数に小数を指定すると、小数点以下は切り捨てられます。たとえば 9.99 は 9 として扱われ、2進数では「1001」になります。

<?php
   $arg=9.99;
   $val=decbin($arg);
   echo "decbin(" . $arg . ") = " . $val;
?>

出力

decbin(9.99) = 1001

使用例3:文字列を渡した場合

引数に数値として評価できない文字列を渡した場合、結果は「0」になります。

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

出力

decbin(Hello) = 0

使用例4:負の数を渡した場合

負の10進数を指定した場合は、2の補数による表現で変換されます。次の例は64ビット環境での実行結果です。

<?php
   $arg=-10;
   $val=decbin($arg);
   echo "decbin(" . $arg . ") = " . $val;
?>

出力

decbin(-10) = 1111111111111111111111111111111111111111111111111111111111110110

関連する基数変換関数

PHPには、decbin()以外にも基数変換のための便利な関数が用意されています。

  • bindec():2進数を10進数に変換
  • decoct():10進数を8進数に変換
  • dechex():10進数を16進数に変換
  • base_convert():任意の基数間で数値を変換

まとめ

decbin()関数を使えば、10進数の整数を簡単に2進数の文字列へ変換できます。ただし、小数は切り捨てられ、負の数は2の補数表現になる点には注意が必要です。用途に応じて bindec() や base_convert() などの関連関数も合わせて活用しましょう。

  1. PHPのdecbin()関数とは?10進数を2進数に変換する使い方を解説

    decbin()関数とはdecbin()関数は、引数として渡された10進数の整数を2進数に変換し、その結果を文字列として返すPHPの組み込み関数です。戻り値は「0」と「1」だけで構成された文字列になります。基本構文decbin ( int $number ) : stringパラメータ番号パラメータと説明1number2進数表現へ変換したい10進数の値を指定します。戻り値変換後の2進数を文字列として返します。対応バージョンこの関数は PHP 4.x、PHP 5.x、PHP 7.x、および PHP 8.x で利用可能です。使用例1:基本的な変換次の例では、13 を2進数に変換し、「1101」が出

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

    decbin() 関数は、PHPの組み込み関数の一つで、10進数(decimal)の数値を2進数(binary)の文字列に変換します。コンピュータ内部ではデータが2進数で扱われるため、ビット演算やフラグ管理などを行う際にこの関数が役立ちます。 構文 decbin(num) パラメータ num − 2進数に変換したい数値を指定します。整数を渡すのが一般的ですが、数値形式の文字列も指定可能です。 戻り値 decbin() 関数は、指定された10進数の値を2進数で表した文字列を返します。 使用例 次の例では、10進数の「3865」を2進数に変換しています。 <?php   &nb