我使用的系统和 PHP 版本:
操作系统:Centos 7 x86_64
PHP:PHP 7.2
url:http://php.net/manual/en/function.decbin.php代码:
<?php
$a = PHP_INT_SIZE;
$b = PHP_INT_MAX;
$c = PHP_INT_MIN;
ec "The value of \$a: ", $a . "\n";
ec "The value of \$b: ", $b . "\n";
ec "The value of \$c: ", $c . "\n\n";
ec "The binary of \$b: " . decbin($b) . "\n";
ec "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
问题:
最小值的二进制数是 64
最大的二进制数是 63,为什么?
谢谢你的回答。
因为$b
中最左边的位是 0,它不会被打印。
尝试打印decbin($a)
(因为$a
是 8),看看它不会打印为 64 位,只有 4。
如果要显示最左边的 0,请使用sprintf
格式化字符串,如
ec "The binary of \$b: " . sprintf("%064b", decbin($b)) . "\n";
将格式字符串中的64
替换为要显示的位数。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(60条)