两个int类型的数值相加减会产生小数吗?

同事说 1+1 结果可能会是小数, 说计算机是二进制运算的, 是会生成小数;
这里我觉得是php语言给我们计算返回应该就是int 2

是什么情况下会导致两个整数 加减 会导致小数呢, 除了溢出外?

六月的风
Junwind
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 18

不会啊 int就是整数, 十进制的整数转为二进制 不是无限循环的 都是有限的 计算机中计算最后都会转为二进制来计算 所以有些小数才会出现精度问题 ,因为十进制小数转为二进制可能是无限循环的
两个整数相加减不会出现小数

2年前 评论
aab

有没有想过你的同事是错的,不过底层在保存数据的时候是没有类型,所以你说他是一个浮点数也可以,说他是一个整数也可以,关键是看你怎么解析你拿到的二进制位序列。不过就这个问题来说,两个整数相加应该不会变成一个浮点数。

2年前 评论
Junwind

我的疑问很简单,如果两个整数 相加减 可能生成小数, 那么整数存在的意义是什么?

2年前 评论
ShiKi

我知道了是什么情况!!! 那就是算错的情况下!!!!!!!

2年前 评论
Junwind (楼主) 2年前

不用高精度算法 ,直接除就很容易出现

2年前 评论
Junwind (楼主) 2年前

整型相加不会有小数。浮点数运算才会丢失精度。

参考:PHP浮点数的一个常见问题的解答

2年前 评论

int相加减,不会出现小数。只有除法这样的场景估计会丢失精度。

2年前 评论

你同事在开黄腔

2年前 评论
Junwind (楼主) 2年前
小李世界 2年前
hhhhkkk 2年前

自己不会百度吗?

2年前 评论
抄底斗罗

整数相加减乘结果不会是浮点数,相除后结果可能会转为浮点数

2年前 评论

就说那个二进制, 二进制跟小数有啥关系呢

2年前 评论

两个整型之间的加减不会产生精度问题。浮点数才会。因为计算机中的浮点数都是通过IEEE754标准表示的,会有精度问题。

2年前 评论

:joy:

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!