问题描述
- 两个long long类型的数(非零)相除,为什么结果为0?
-
两个long long类型的数(非零)相除,为什么结果为0?
解决方案
long/long,结果是取整的。如果想不为零 long*1.0/long
解决方案二:
当第一个数的绝对值比第二个数的绝对值小时就会是0,取整造成的。
解决方案三:
两个长整形运算,结果为整形。
解决方案四:
当你的分子小于分母时得到的就是0,如果你不要余数的话
解决方案五:
特定跑了下程序才来回答。
int的规则是:两者相除的结果向下取整,所以3/5=0而不是0.6
测试了,
1)两个长整型相除的结果还是长整型的
2)long*1.0/long的方法可以得到小数,此时的结果是double型而不是长整型的,如果用printf函数进行输出的话,记得用lf而不是lld
解决方案六:
那就是被除数比除数小了。
比如6除以7得0余6。
解决方案七:
这是最基础的数据类型的问题,你翻翻书就懂了。以后问问题 还是先自己查阅一番,实在不懂再问
解决方案八:
1)两个长整型相除的结果还是长整型的
2)long*1.0/long的方法可以得到小数,此时的结果是double型而不是长整型的,如果用printf函数进行输出的话,记得用lf而不是lld
解决方案九:
把第二个long变成double试试
解决方案十:
两个长整形运算,结果为整形。
时间: 2024-11-08 17:25:55