bindec 二进制转换为十进制
发表日期:2021-07-01 08:56:06 | 来源: | | 浏览(1026) 分类:Math 函数
bindec
(PHP 4, PHP 5, PHP 7, PHP 8)
bindec — 二进制转换为十进制
说明
bindec(string
$binary_string
): number
返回
binary_string
参数所表示的二进制数的十进制等价值。
bindec() 将一个二进制数转换成 integer,或者出于大小的需要,转换为 float 类型。
bindec() 将所有的
binary_string
值解释为无符号整数。这是由于
bindec() 函数将其最高有效位视为数量级而非符号位。
参数
-
binary_string
-
要转换的二进制字符串
警告
参数必须为字符串。使用其他数据类型会导致不可预知的结果。
返回值
binary_string
的十进制数值
更新日志
版本 | 说明 |
---|---|
4.1.0 | 本函数如今可以转换超过程序运行平台中 integer 类型最大值的数,此时其值会返回为 float 类型。 |
范例
示例 #1 bindec() 例子
<?php echo bindec('110011') . "\n"; echo bindec('000110011') . "\n"; echo bindec('111'); ?>
以上例程会输出:
51 51 7
示例 #2 bindec() 将输入解读为无符号整数
<?php /* * The lesson from this example is in the output * rather than the PHP code itself. */ $magnitude_lower = pow(2, (PHP_INT_SIZE * 8) - 2); p($magnitude_lower - 1); p($magnitude_lower, 'See the rollover? Watch it next time around...'); p(PHP_INT_MAX, 'PHP_INT_MAX'); p(~PHP_INT_MAX, 'interpreted to be one more than PHP_INT_MAX'); if (PHP_INT_SIZE == 4) { $note = 'interpreted to be the largest unsigned integer'; } else { $note = 'interpreted to be the largest unsigned integer (18446744073709551615) but skewed by float precision'; } p(-1, $note); function p($input, $note = '') { echo "input: $input\n"; $format = '%0' . (PHP_INT_SIZE * 8) . 'b'; $bin = sprintf($format, $input); echo "binary: $bin\n"; ini_set('precision', 20); // For readability on 64 bit boxes. $dec = bindec($bin); echo 'bindec(): ' . $dec . "\n"; if ($note) { echo "NOTE: $note\n"; } echo "\n"; } ?>
以上例程在 32 位机器上的输出:
input: 1073741823 binary: 00111111111111111111111111111111 bindec(): 1073741823 input: 1073741824 binary: 01000000000000000000000000000000 bindec(): 1073741824 NOTE: See the rollover? Watch it next time around... input: 2147483647 binary: 01111111111111111111111111111111 bindec(): 2147483647 NOTE: PHP_INT_MAX input: -2147483648 binary: 10000000000000000000000000000000 bindec(): 2147483648 NOTE: interpreted to be one more than PHP_INT_MAX input: -1 binary: 11111111111111111111111111111111 bindec(): 4294967295 NOTE: interpreted to be the largest unsigned integer
以上例程在 64 位机器上的输出:
input: 4611686018427387903 binary: 0011111111111111111111111111111111111111111111111111111111111111 bindec(): 4611686018427387903 input: 4611686018427387904 binary: 0100000000000000000000000000000000000000000000000000000000000000 bindec(): 4611686018427387904 NOTE: See the rollover? Watch it next time around... input: 9223372036854775807 binary: 0111111111111111111111111111111111111111111111111111111111111111 bindec(): 9223372036854775807 NOTE: PHP_INT_MAX input: -9223372036854775808 binary: 1000000000000000000000000000000000000000000000000000000000000000 bindec(): 9223372036854775808 NOTE: interpreted to be one more than PHP_INT_MAX input: -1 binary: 1111111111111111111111111111111111111111111111111111111111111111 bindec(): 18446744073709551616 NOTE: interpreted to be the largest unsigned integer (18446744073709551615) but skewed by float precision
- PHP(0)
- PHP杂项(34)
- PHP基础-李炎恢系列课程(20)
- 中文函数手册(0)
- 错误处理 函数(13)
- OPcache 函数(6)
- PHP 选项/信息 函数(54)
- Zip 函数(10)
- Hash 函数(15)
- OpenSSL 函数(63)
- Date/Time 函数(51)
- 目录函数(9)
- Fileinfo 函数(6)
- iconv 函数(11)
- 文件系统函数(81)
- 多字节字符串 函数(57)
- GD 和图像处理 函数(114)
- 可交换图像信息(5)
- Math 函数(50)
- abs 绝对值(0)
- acos 反余弦(0)
- acosh 反双曲余弦(0)
- asin 反正弦(0)
- asinh 反双曲正弦(0)
- atan2 两个参数的反正切(0)
- atan 反正切(0)
- atanh 反双曲正切(0)
- base_convert 在任意进制之间转换数字(0)
- bindec 二进制转换为十进制(0)
- ceil 进一法取整(0)
- cos 余弦(0)
- cosh 双曲余弦(0)
- decbin 十进制转换为二进制(0)
- dechex 十进制转换为十六进制(0)
- decoct 十进制转换为八进制(0)
- deg2rad 将角度转换为弧度(0)
- exp 计算 e 的指数(0)
- expm1 返回 exp(number) - 1,甚至当 number 的值接近零也能计算出准确结果(0)
- fdiv Divides two numbers, according to IEEE 754(0)
- floor 舍去法取整(0)
- fmod 返回除法的浮点数余数(0)
- getrandmax 显示随机数最大的可能值(0)
- hexdec 十六进制转换为十进制(0)
- hypot 计算一直角三角形的斜边长度(0)
- intdiv 对除法结果取整(0)
- is_finite 判断是否为有限值(0)
- is_infinite 判断是否为无限值(0)
- is_nan 判断是否为合法数值(0)
- lcg_value 组合线性同余发生器(0)
- log10 以 10 为底的对数(0)
- log1p 返回 log(1 + number),甚至当 number 的值接近零也能计算出准确结果(0)
- log 自然对数(0)
- max 找出最大值(0)
- min 找出最小值(0)
- mt_getrandmax 显示随机数的最大可能值(0)
- mt_rand 生成更好的随机数(0)
- mt_srand 播下一个更好的随机数发生器种子(0)
- octdec 八进制转换为十进制(0)
- pi 得到圆周率值(0)
- pow 指数表达式(0)
- rad2deg 将弧度数转换为相应的角度数(0)
- rand 产生一个随机整数(0)
- round 对浮点数进行四舍五入(0)
- sin 正弦(0)
- sinh 双曲正弦(0)
- sqrt 平方根(0)
- srand 播下随机数发生器种子(0)
- tan 正切(0)
- tanh 双曲正切(0)
- 程序执行函数(11)
- PCNTL 函数(23)
- JSON 函数(4)
- SPL 函数(15)
- URL 函数(10)
- cURL 函数(32)
- 网络 函数(33)
- FTP 函数(36)
- Session 函数(23)
- PCRE 函数(11)
- PCRE 正则语法(19)
- 数组 函数(81)
- 类/对象 函数(18)
- 函数处理 函数(13)
- 变量处理 函数(37)
- SimpleXML 函数(3)
- 杂项 函数(31)
- 字符串 函数(101)