ホームページ >バックエンド開発 >PHPチュートリアル >PHP関数の10進数、2進数、8進数、16進数の変換

PHP関数の10進数、2進数、8進数、16進数の変換

不言
不言オリジナル
2018-04-10 17:17:562480ブラウズ

この記事の内容は、PHP 関数における 10 進数、2 進数、8 進数、および 16 進数の変換を共有することです。必要な場合は、PHP の文字エンコード研究シリーズの第 1 号を参照してください。関数記事では、10進数、2進数、8進数、16進数間の変換関数について詳しく解説しています

1.10進数の変換関数の説明

。次の例に示すように、バイナリ decbin() 関数に変換します。

echo decbin(12); //输出 1100 
echo decbin(26); //输出 11010 
decbin 
(PHP 3, PHP 4, PHP 5) 
decbin -- 十进制转换为二进制

説明

string decbin ( int number )

指定された数値パラメータのバイナリ表現を含む文字列を返します。変換できる最大値は 10 進数で 4294967295 で、結果は 32 個の 1 の文字列になります。

2、10 進数から 8 進数への decoct() 関数


echo decoct(15); //输出 17 
echo decoct(264); //输出 410 
decoct 
(PHP 3, PHP 4, PHP 5) 
decoct -- 十进制转换为八进制

説明

string decoct ( int number )

指定された数値パラメーターの 8 進数表現を含む文字列を返します。変換できる最大値は10進数で4294967295で、結果は「37777777777」となります。

3、10 進数から 16 進数への dechex() 関数


echo dechex(10); //输出 a 
echo dechex(47); //输出 2f 
dechex 
(PHP 3, PHP 4, PHP 5) 
dechex -- 十进制转换为十六进制

説明

string dechex (int number)

指定された数値パラメーターの 16 進表現を含む文字列を返します。変換できる最大値は 10 進数で 4294967295 で、結果は「ffffffff」となります。


2番目、バイナリシステム変換関数の説明
1、バイナリから16進数へのbin2hex()関数

$binary = "11111001"; 
$hex = dechex(bindec($binary)); 
echo $hex;//输出f9 
bin2hex 
(PHP 3 >= 3.0.9, PHP 4, PHP 5) 
bin2hex -- 将二进制数据转换成十六进制表示

説明

string bin2hex (string str)

パラメータstrの16進表現の10番目のASCII文字列を返します。変換ではバイト モードが使用され、上位ニブルが優先されます。


2、バイナリから 10 進数への変換bindec() 関数

echo bindec('110011'); //输出 51 
echo bindec('000110011'); //输出 51 
echo bindec('111'); //输出 7 
bindec 
(PHP 3, PHP 4, PHP 5) 
bindec -- 二进制转换为十进制 
说明 
number bindec ( string binary_string )

は、binary_string パラメータで表される 2 進数に相当する 10 進数を返します。

bindec() 2 進数を整数に変換します。変換できる最大の数値は 31 桁、つまり 10 進数で 2147483647 です。 PHP 4.1.0 以降、この関数は大きな値を処理できるようになり、その場合は float 型が返されます。



3、8進数変換関数の説明
8進数から10進数へのoctdec()関数

echo octdec('77'); //输出 63 
echo octdec(decoct(45)); //输出 45 
octdec 
(PHP 3, PHP 4, PHP 5) 
octdec -- 八进制转换为十进制 
说明 
number octdec ( string octal_string )

octal_stringパラメータで表される8進数に相当する10進数を返します。変換できる最大値は、10 進数で 17777777777 または 2147483647 です。 PHP 4.1.0 以降、この関数は大きな数値を処理できるようになり、その場合は float 型が返されます。


IV. 16 進数変換関数の説明
16 進数から 10 進数への hexdec() 関数

var_dump(hexdec("See")); 
var_dump(hexdec("ee")); 
// both print "int(238)" 
var_dump(hexdec("that")); // print "int(10)" 
var_dump(hexdec("a0")); // print "int(160)" 
hexdec 
(PHP 3, PHP 4, PHP 5) 
hexdec -- 十六进制转换为十进制 
说明 
number hexdec ( string hex_string )

hex_string パラメーターで表される 16 進数に相当する 10 進数を返します。 hexdec() 16 進数の文字列を 10 進数に変換します。変換できる最大値は7ffffffff、10進数で2147483647です。 PHP 4.1.0 以降、この関数は大きな数値を処理できるようになり、その場合は float 型が返されます。

hexdec() 見つかった 16 進数以外の文字をすべて 0 に置き換えます。このように、左側のゼロはすべて無視されますが、右側のゼロは値に含まれます。



5、任意のbase_convert()関数

$hexadecimal = 'A37334'; 
echo base_convert($hexadecimal, 16, 2);//输出 101000110111001100110100 
base_convert 
(PHP 3 >= 3.0.6, PHP 4, PHP 5) 
base_convert -- 在任意进制之间转换数字 
说明 
string base_convert ( string number, int frombase, int tobase )

は、tobaseベースの数値表現を含む文字列を返します。数値の基数自体は frombase で指定されます。 frombase と tobase はどちらも 2 ~ 36 (両端の値を含む) の範囲内のみにすることができます。小数以上の数値は、a から z の文字で表されます (a は 10、b は 11、z は 35 を表します)。

ここでは、開発と検索を容易にするために主に PHP ベースの変換関数を整理します。関連する特定の関数の説明については、PHP マニュアルを参照してください。次回の漢字符号化研究シリーズにご注目ください。


関連する推奨事項:

Python が struct を使用してバイナリを処理する方法の詳細な説明

C# での 10 進数、バイナリ、16 進数、および 8 進数の変換の詳細な説明

php は基数変換 (バイナリ、8 進数、 10進数)16進数)相互変換実装コード

以上がPHP関数の10進数、2進数、8進数、16進数の変換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。