C63空开能带多少千瓦:php中的二进制 为什么是63位(binary 63)

我使用的系统和 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;
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

问题:

最小值的二进制数是 64

最大的二进制数是 63,为什么?

谢谢你的回答。

3

因为$b中最左边的位是 0,它不会被打印。

尝试打印decbin($a)(因为$a是 8),看看它不会打印为 64 位,只有 4。

如果要显示最左边的 0,请使用sprintf格式化字符串,如

echo "The binary of \$b: " . sprintf("%064b", decbin($b)) . "\n";

将格式字符串中的64替换为要显示的位数。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(159)
Poly(i:c):Python相当于Rpoly()函数
上一篇
怎么看cpu频率:xkcd api 怎么看解释
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(55条)