我正在使用的系统和PHP版本:
url:http://php.net/manual/en/function.decbin.php
代码:
<?php
$a = PHP_INT_SIZE;
$b = PHP_INT_MAX;
$c = PHP_INT_MIN;
echo "The value of \$a: ", $a . "\n";
echo "The value of \$b: ", $b . "\n";
echo "The value of \$c: ", $c . "\n\n";
echo "The binary of \$b: " . decbin($b) . "\n";
echo "The binary of \$c: " . decbin($c) . "\n";
输出:
The value of $a: 8
The value of $b: 9223372036854775807
The value of $c: -9223372036854775808
The binary of $b: 111111111111111111111111111111111111111111111111111111111111111
The binary of $c: 1000000000000000000000000000000000000000000000000000000000000000
问题:
谢谢您的回答。
答案 0 :(得分:3)
因为$b
中最左边的位是0,所以它不会被打印。
尝试打印decbin($a)
(由于$a
为8),以确保它不会打印为64位,而只是4位。
如果要显示最左边的0,请使用sprintf
设置字符串格式,如
echo "The binary of \$b: " . sprintf("%064b", decbin($b)) . "\n";
用格式字符串替换64
,并用要显示的位数来表示。