如何确定涉及 C++ 中除法的算术表达式的数据类型

how to determine data type of arithmetic expressions involving divisions in c++

本文关键字:表达式 数据类型 除法 何确定 C++      更新时间:2023-10-16

请看下面的程序。

// Example program
#include <iostream>
#include <string>
int main()
{
int n=7;  
std::cout <<"n/2 = "<< n/2 << std::endl;
std::cout <<"n/3.3 = "<< n/3.3 << std::endl;
}

输出:

n/2 = 3
n/3.3 = 2.12121

在上面的例子中,

  • 表达式 "n/2" 已使用整数除法进行计算。
  • 表达式"n/3.3"已使用实数除法进行评估。

确定使用哪个部门的规则是什么?

具有两个整数操作数的算术运算在整数上下文中计算;具有至少一个浮点操作数的算术运算在浮点上下文中计算。(除此之外,还有更具体的类型转换规则,但基本思想是,如果其中一个操作数floatdouble,它将另一个操作数转换为floatdouble(如果尚未(。