PHP按位左移32位问题以及大数算术运算的不良结果

2023-12-08

我有以下问题:

第一:我试图对一个大数进行 32 位按位左移,并且由于某种原因该数字总是按原样返回。例如:

echo(516103988<<32); // echoes 516103988

因为将位向左移动一位相当于乘以 2,所以我尝试将数字乘以 2^32,并且它有效,它返回 2216649749795176448。

第二:我必须将 9379 添加到上面的数字中:

printf('%0.0f', 2216649749795176448 + 9379); // prints 2216649749795185920 

应打印:2216649749795185827


执行 32 位移位操作可能不会像您期望的那样工作,因为整数往往存储在 32 位上。

引用此页:按位运算符

右移不要超过32 32 位系统上的位。
别离开 转移以防结果为数字 长于 32 位。
使用功能 来自按位的 gmp 扩展 操纵超出的数字PHP_INT_MAX.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP按位左移32位问题以及大数算术运算的不良结果 的相关文章

随机推荐

  • 将可执行文件链接到的所有 dll 复制到可执行目录

    这个问题询问类似的问题 但只需要手动指定要复制的dll 我的问题是 有没有一种方法可以简单地让 CMake 复制链接到可执行库的所有 dll 而不需要手动告诉 CMake 要复制哪些文件 有时 CMake 更了解是否需要 dll 例如 在安
  • 使用 C# Parallel.ForEach 循环处理 SFTP 文件不处理下载

    我正在使用 Renci SSH NET 软件包版本 2016 我正在从外部服务器下载文件 我通常每 6 秒就能下载一个文件 当你有数千个文件时 这很糟糕 我最近尝试改变foreach循环到Parallel ForEach 这样做将文件下载时
  • Powershell 中的 Lambda 表达式

    我有一段 C 代码 它使用 lambda 表达式将委托传递给方法 我怎样才能在 PowerShell 中实现这一目标 例如 以下是 C 代码 string input string pattern
  • 如何将 perfmon 插件与 jmeter-maven-plugin 一起使用?

    我目前正在开发一个基于 jmeter 的项目 使用 jmeter maven 插件运行测试 到目前为止 一切正常 直到我添加了 perfmon 插件 添加它们以使用 jmeter UI 获取每秒事务数和随时间变化的响应时间 按照说明进行操作
  • 如何解决 IE 不支持 :after 的问题?

    我有一堆清单 ul li class first Item 1 li li Item 2 li li class last Item 3 li ul 风格与 li after content li last after content 这一
  • 如何在 C++ 中编译位于不同文件中的模板?

    当我将所有源代码放入一个文件中时 程序就成功构建了 但是 当我将它们拆分为头文件时 出现链接错误 我的程序的主要内容 C Class Templates cpp include
  • 仅在 Android 中首次启动时显示设置屏幕

    我正在制作一个 Android 应用程序 但我不知道如何使设置屏幕仅在第一次出现 这就是应用程序的工作方式 用户在安装后启动应用程序并显示欢迎 设置屏幕 一旦用户完成设置 设置屏幕将永远不会再次出现 除非用户重新安装应用程序 我怎样才能做到
  • iOS 照片权限要求第二次

    我目前正在使用 aasset 这是第一次请求许可 如果想第二次或每次用户阻止它时弹出权限 这怎么可能 没有办法第二次显示权限提示 处理权限提示的最好方法是在触发权限提示之前向用户解释 阅读 AssetsLibrary框架中的call方法 如
  • 如何将多个(excel)文件读入R? [复制]

    这个问题在这里已经有答案了 我有数百个中等大小的 Excel 文件 5000 到 50 0000 行 大约 100 列 要加载到 R 中 它们具有明确定义的命名模式 例如x 1 xlsx x 2 xlsx etc 如何以最快 最直接的方式将
  • ADT 插件更新后使用某种库的所有 Android 项目都会抛出 ClassNotFoundException [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 我正在使用 Eclipse 我在之后就面临这个问题谷歌
  • 为什么空格会影响相等字符串的同一性比较? [复制]

    这个问题在这里已经有答案了 我注意到 向相同的字符串添加空格会使它们使用时比较不相等is 而非空间版本比较相等 a abc b abc a is b outputs True a abc abc b abc abc a is b outpu
  • 更改 UINavigationItem 颜色

    我需要为 UINavigationBar 按钮设置自定义颜色 我正在做以下事情 RGB func 是一个定义 void viewWillAppear BOOL animated for UIView view in self navigat
  • Windows Phone 7 中的样式触发器

    我想使用 Windows Phone 7 中的样式触发器来根据布尔变量更改图像的源 我想做这样的事情
  • 使用 Javascript 关闭所有弹出窗口

    有谁知道如何在Javascript中关闭所有弹出窗口 由javascript弹出的窗口 Example 单击打开 3 个新窗口 按钮 并使用 window open 来 打开所有 3 个新窗口 单击一个按钮并关闭所有 3 个按钮 一起弹出窗
  • 右值引用和左值引用有什么区别? (代码生成)

    从较低级别的角度来看 r 值参考是什么样的 我似乎无法理解它 我可以查看从右值引用与左值引用生成的代码 等效的 C 或 x86 x64 示例吗 例如 这个构造会是什么样子 我们暂时假设没有复制省略 vector
  • Request.IsAuthenticated 始终返回 false

    我正在努力向我正在构建的站点添加登录功能 但登录后 Request IsAuthenticated 属性始终返回 true 我搜索了这个错误并一遍又一遍地找到相同的答案 但这些解决方案对我不起作用 来自 AccountController
  • Android:在 ConstraintLayout 中保留全宽和未定义高度 ImageView 的比例?

    In a ConstraintLayout an ImageView与其父级绑定的方式如下 它的左侧绑定到屏幕的左侧 它的右侧绑定到屏幕的右侧 它的顶部绑定到小部件的底部 它的底边绑定到屏幕的底边 Thus my ImageView看起来是
  • .Value = .Value 的作用与 VBA 中的 Evaluate() 函数类似吗?

    考虑以下片段 它将相同的公式写入两个单元格A1 and A2 Sub Main With Range A1 Formula 1 1 End With With Range A2 Formula 1 1 Value Value End Wit
  • 日期之间的差异

    我想计算两个时间之间的差异 其中一个是当前时间 另一个是 HH MM 格式 始终是未来时间 如果我只是从 now 中减去 futuretime 它当然应该是一个正数 这工作正常 直到 如果 now 是下午或晚上 而 futuretime 是
  • PHP按位左移32位问题以及大数算术运算的不良结果

    我有以下问题 第一 我试图对一个大数进行 32 位按位左移 并且由于某种原因该数字总是按原样返回 例如 echo 516103988 lt lt 32 echoes 516103988 因为将位向左移动一位相当于乘以 2 所以我尝试将数字乘