如何确定涉及C ++中除法的算术表达式的数据类型
how to determine data type of arithmetic expressions involving divisions in c++
看看下面的节目。
// 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" 已使用实数除法求值。
确定使用哪个分区的规则是什么?
具有两个整数操作数的算术运算在整数上下文中计算;具有至少一个浮点操作数的算术运算在浮点上下文中进行评估。 (除此之外还有更具体的类型转换规则,但基本思想是,如果其中一个操作数是 float
或 double
,它会将另一个操作数转换为 float
或 double
如果还没有的话。)
看看下面的节目。
// 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" 已使用实数除法求值。
确定使用哪个分区的规则是什么?
具有两个整数操作数的算术运算在整数上下文中计算;具有至少一个浮点操作数的算术运算在浮点上下文中进行评估。 (除此之外还有更具体的类型转换规则,但基本思想是,如果其中一个操作数是 float
或 double
,它会将另一个操作数转换为 float
或 double
如果还没有的话。)