gpt4 book ai didi

php - 在 PHP 中将数字转换为字节

转载 作者:可可西里 更新时间:2023-10-31 22:07:44 24 4
gpt4 key购买 nike

在 Java 中,我可以轻松地将数字转换为字节,例如:

System.err.println((byte) 13020);

结果会是

-36

现在如何在 PHP 中实现相同的功能?

最佳答案

echo ($a&0x7f) + ($a&0x80?-128:0);

编辑 这模拟了一个带符号的 8 位值实际应该发生的情况。当 MSB(第 7 位)为零时,我们只有这 7 位的值。当 MSB 设置为 1 时,我们从 -128 开始(即 1000000b == -128d)。

您还可以利用 PHP 在内部使用整数值这一事实:

$intsize = 64; // at least, here it is...
echo ($a<<($intsize-8))/(1<<($intsize-8));

因此您将字节的 MSB 移动到 int 的 MSB 位置,如 php 所见,即您在右侧添加 56 个零位。除法会“剥离”这些位,同时保持值的符号。

关于php - 在 PHP 中将数字转换为字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3361642/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com