php - 为什么在 65535 上使用 0xffff

标签 php

我在 mt_rand(0, 0xffff) 中看到一些使用 0xffff 的 PHP 脚本。我执行 echo 0xffff;,结果为 65535。使用这个0xffff有什么意义吗?还有那是什么?

最佳答案

十六进制表示法0xffff清楚地表明数字中的所有位都是 1 . 65535是相同的数字,但二进制表示并不那么明显。这只是一个计数。所以这种写数字的方式有不同的语义。

比如你要声明某个变量的最大值必须是65535,那么最好这样声明:

$max_value = 65535;

因为这使得人们很容易将它与其他值进行比较,例如 65500 ( < $max_value ) 或 66000 ( > $max_value )。

位域则相反。

$default_state = 65535;

这并没有告诉我所有位都是一个(实际上它们是一个)。

$default_state = 0xFFFF;

这样做:每个十六进制数字代表四个位,一个 F表示四个 1 位。因此0xFFFF0b1111111111111111二进制。

当程序员想要明确表示二进制表示很重要,可能比精确的数值更重要时,会使用十六进制表示法。

关于php - 为什么在 65535 上使用 0xffff,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13137151/

相关文章:

php - 将许多用户创建的项目聚合到一个 "general"项目中

java - 使用volley上传视频

php - MySQL查询 - 两行之间的差异

php - 向 Facebook 中的好友发送消息或通知

javascript - jqGrid - PHP,如何将编辑的数据保存到服务器(MySQL)

PHP - 序列化一个具有静态属性的类

php - VS Code 在 php 类中自动生成接口(interface)方法?

php - 我将如何只更新一个 Composer 依赖项?

php __clone() 和 "shallow clone"

php - 在 PHP 中使用保留键反转关联数组