我正在使用大数字,241 233,662581978748022我想知道是否 662581978748022/241/233是圆形或浮点数...所有这些都是长long int,如果我尝试做的话
double var = 662581978748022 / 241/233 =它仍然输出轮数,例如xxx.0000,即使它不是圆数,并且当我比较时它的bcs double var = 662581978748022 / 241/23 == long long int var2 = 662581978748022 / 241/23当它不应该如何找到其圆形或浮点数时,它仍然是真的吗?
答案 0 :(得分:1)
当你执行x = integer-number (operator) integer-number
时,右边的部分被计算为整数。无论x
类型是什么。
示例:
double x;
x = 3/2;
现在x
是" 1.000 ..."。因为3是整数,2是整数,所以操作以整数形式执行。然后将其转换为double
的{{1}}。
如果您希望将操作作为float / double执行,则必须至少投射一个正确的成员:
=
现在double x;
x = (double)3/2;
是" 1.5"。
所以你的x
(如果数字是整数变量则相同)被计算为整数值。
正如@Kevin所说,使用modulo(%)来获取剩余的东西或使用浮动值。