c++ - 两个整数的商的类型

标签 c++ parsing math logic

考虑以下几点:

int num = 5;
double total = num / 2;

num/2 的商不是 double 是否正确,因为您需要将 int 解析为 ?

最佳答案

技术上的答案是 / 运算符在给定两个整数时生成一个整数。此计算独立于其分配给 double 变量。

您实际上确实在变量 total 中得到了一个 double 值,但它是 2.0,而不是 2.5。整数 2 在初始化时被强制转换为 2.0。

如果你想要 2.5,你的选择是:

double total = num / 2.0;

double total = (double)num / 2;

简而言之,这不是解析问题,而是 C++ 运算符语义之一。希望这是有道理的。

关于c++ - 两个整数的商的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7328745/

相关文章:

c++ - 调试断言失败!人脸识别openCv中的detectAndDisplay函数

C++ 求函数的根

javascript - 解析参数并将其转换为 Javascript 中的 DateTime

java - Circle 实现 - 如何建模以获取此信息

javascript - 如何在 3d 中取消投影矢量

Python——Matplotlib 用户通过鼠标输入进行绘图

c++ - 从 NFQueue 读取数据包时的序列号为零

c++ - 如何隐藏 QSplitter 小部件中的句柄?

parsing - 在解析器组合器中组合词法分析器和解析器

ios - 从另一个值创建新的字典