java - 如何在java上从php获得相同的结果?
问题描述
为什么在 phpprintf((2376995291 - 141 * 16777216) / 65535)
上这个
结果 174.0724040589。
在 Java 上System.out.println((2376995291L - 141 * 16777216) / 65535)
结果 65711 。
为什么它有两个不同的结果以及如何在 Java 上获得结果 PHP,我需要在 Java 上获得 174。
解决方案
System.out.println((2376995291L - 141L * 16777216L) / (double)65535);
141 * 16777216
从技术上讲,它会溢出,因为它大于 2^31 - 1。因此,将它们设为长数字以避免溢出,如果你也想得到带小数点的结果,你可以对分母进行类型转换。
推荐阅读
- c - 为什么当我将 POLLHUP 添加为事件时,WSAPoll 返回错误(无效参数)?
- python - 加快素数生成?
- php - 如何从存储过程中获取特定于 count(*) 列的字符串或整数
- php - 我不明白为什么 session_regenerate_id 对低连接很危险?
- php - mysqli_fetch_all 没有从一个特定的表中检索记录
- php - PHP Doctrine 加载关联对象导致错误
- c - 结构的填充大小
- django - 从 facebook 重定向后的 Social-auth AuthCanceled 错误
- php - 如何停止覆盖数组中的第一个索引
- java - 根据两个优先元素对数组的arraylist进行排序