【Amazon】人気の商品が日替わりで登場!
毎日お得なタイムセール!商品をみる

【PHP】2進数を10進数に、10進数を2進数に変換する方法

本記事では、PHPで2進数を10進数に変換/10進数を2進数に変換する方法について解説しています。

PHPの学習におすすめ書籍
独習PHP 第4版
総合評価
( 5 )
メリット
  • PHPの基本構文からクラス・データベース連携・セキュリティまで学べる
  • PHPによるWebアプリ開発の基礎・基本テクニックを学べる
楽天ブックス
¥3,740 (2024/04/16 01:40時点 | 楽天市場調べ)
先輩くん

Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!

後輩ちゃん

初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!

全プログラマー必見!
変数名/関数名にもう悩まない!
リーダブルコード
総合評価
( 5 )
メリット
  • 美しいコードが書けるが自然と書けるようになる
  • 他の開発者が理解しやすいコードになる
著:Dustin Boswell, 著:Trevor Foucher, 解説:須藤 功平, 翻訳:角 征典
¥2,640 (2023/07/23 02:48時点 | Amazon調べ)
目次

2進数を10進数に変換するbindec関数の使い方

2進数を10進数に変換したい時は、bindec関数を使用します。基本的な使い方は以下のとおりです。

$result = bindec($binary_string);
構文解説
  • $result:10進数に変換された値が代入される
  • $binary_string:10進数に変換したい2進数を文字列で指定

PHP7.4から$binary_stringに数値などの無効な値を指定すると「Deprecated: Invalid characters passed for attempted conversion, these have been ignored(意味:無効な値が渡されたから無視するよーといった感じです)」のエラーが返されるようになりました。

実際に、bindec関数を使用して2進数を10進数に変換するサンプルコードを用意したので、動作確認してみましょう。

<?php

echo bindec('100111') . '<br />'; // 39
echo bindec('000111') . '<br />'; // 7

2つ目のbindec関数では、先頭に不要な0が連続で出現していますが正しく10進数に変換されていることが確認できます。

10進数を2進数に変換するdecbin関数の使い方

10進数を2進数に変換したい時は、decbin関数を使用します。基本的な使い方は以下のとおりです。

$result = decbin($num);
構文解説
  • $result:2進数に変換された文字列が代入される
  • $num:2進数に変換したい正数を指定

実際に、decbin関数を使用して10進数を2進数に変換するサンプルコードを用意したので、動作確認してみましょう。

<?php

echo decbin(10) . '<br />'; // 1010
echo decbin(100) . '<br />'; // 1100100

ブログランキング・にほんブログ村へ PVアクセスランキング にほんブログ村 FC2 Blog Ranking

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次