gpt4 book ai didi

php - perl unary ~ 没有给出预期的结果

转载 作者:可可西里 更新时间:2023-10-31 23:21:22 28 4
gpt4 key购买 nike

我正在尝试将 php 算法移植到 perl,但我在使用我不熟悉的一位运算符时遇到了困难...

所以 php 代码看起来像这样:

...
$var = '348492634';
print ~$var;
...

结果:-348492635

在 perl 中做完全相同的事情:

...
$var = '348492634';
print ~$var;
...

结果:1​​8446744073361058981

我阅读了很多关于整数大小取决于 cpu 架构的内容,但我从未找到可行的解决方案。也许我只是在 perl 中使用了错误的函数...

逻辑必须获得与 php 脚本中相同的结果。

提前致谢

最佳答案

似乎在您的设置中,PHP 整数是 32 位签名的,而 perl 整数是 64 位无符号的。

这可能会满足您在给定系统上的需要,但如果您在另一个 perl 安装上使用它,则不能保证工作相同。

$var = '348492634'; #hex!
print ~($var - 2**32) - 2**32;

关于php - perl unary ~ 没有给出预期的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19717102/

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