PHP

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

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

PHPの学習におすすめ参考書
気づけばプロ並みPHP 改訂版–ゼロから作れる人になる!

本書情報
出版社リックテレコム
著者谷藤 賢一
発売日2017/3/6
ページ数331ページ
レビュー
(Amazon)
(168件)
先輩くん
先輩くん
Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!
後輩ちゃん
後輩ちゃん
初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!

綺麗なコードが書けるようになる!
リーダブルコード-より良いコードを書くためのシンプルで実践的なテクニック

本書情報
出版社オライリージャパン
著者Dustin Boswell / Trevor Foucher
発売日2012/6/23
ページ数260ページ
レビュー
(Amazon)
(620件)
先輩くん
先輩くん
より良いコードを書きたい人におすすめの本だよ!
後輩ちゃん
後輩ちゃん
10以上前の書籍ですが、内容は今でも役に立つものばかりです!

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アクセスランキング にほんブログ村