PHPで数値をある基数系から他の基数系に変換する

PHPで数値をある基数系から他の基数系に変換してみます。

例えば、10進数を2進数に、16進数を8進数に、8進数を16進数に、16進数を10進数に…というように変換してみます。

base_convert(number(変換する基数), frombase(変換前), tobase(変換後));

変換する際は、base_convert()関数を使用し、括弧内の引数,パラメーターは上記の3つとなります。

■環境

・Windows10

・WampServer Version 3.2.3 64bit

・PHP Version 7.3.21

■数値をある基数系から他の基数系に変換する

では、早速PHPで数値をある基数系から他の基数系に変換していきます。

■コード

<?php
echo base_convert('c2c6a8',16,8)."<br>";
echo base_convert('42',8,2)."<br>";
echo base_convert('101010111100',2,16)."<br>";
?>

数値をある基数系から他の基数系に変換する場合は、先程のbase_convert()関数を使用します。括弧内にパラメーター,引数として数値を入力します。なお、数値は、整数もしくは整数を表す文字列のいずれかにしなければならない。また、frombase(変換前)とtobase(変換後)はともに2以上36以下でなければならない。

なお、10以上の基数を持つ数字の桁は、a-zの文字で表されます。aは10、bは11、zは35といった具合に表します。大文字小文字を区別せずに扱う。

変換後、echo文で他の基数系に変換したものを出力してみます。

■実行

では、このスクリプトを「hello.php」という名前で保存し、実行させてみます。

実行させてみると、base_convert()関数にパラメーター,引数として渡した数値が、指定した基数系に変換されて出力されました。

なお、base_convert()関数は、常に文字列を返します。返された値が基数 10 である場合、結果として得られる文字列は計算の際に数値文字列として使用することができ、PHPは計算の際にそれを数値に変換する。

コメント

タイトルとURLをコピーしました