尝试了很多,只是失败..
$x = 76561198005785475;
Run Code Online (Sandbox Code Playgroud)
我想要这个号码,转到这个:
$y = 45519747;
Run Code Online (Sandbox Code Playgroud)
这是它的32位形式.
试着解释更多细节:
http://www.tonymarston.net/php-mysql/converter.php
1)将值76561198005785475放在"十进制(输入)"字段中.2)在"二进制(Base 2)"字段中按"DEC to BIN".3)从右边开始计数32并复制它.4)在"Binary(Base 2)"字段上粘贴32个字符的二进制数.5)按"二进制(Base 2)"字段中的"Bin to Dec"按钮.
好的,现在您可以看到"45519747"号码.
Nie*_*sol 14
试试这个:
$y = $x & 0xffffffff;
Run Code Online (Sandbox Code Playgroud)
这会将您的64位值截断为32位值,但请注意,绝对无法将64位值恢复,这是一种破坏性方法.
小智 5
我尝试了很多解决方案。但是没有人帮我。最后,以下脚本挽救了我的生命。
function intval32bits($value)
{
$value = ($value & 0xFFFFFFFF);
if ($value & 0x80000000)
$value = -((~$value & 0xFFFFFFFF) + 1);
return $value;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9397 次 |
| 最近记录: |