【C++】表达式中各类数值型数据间的混合运算
注意:以下内容摘自文献[1],修改了部分内容。 1.运算中各类型数据转换方向如下: 高 double ← float ↑ ↑ | long | ↑ | unsigned | ↑ 低 int ← char, short 其中,横向的箭头表示必定的转换,即使是两个char型的数据相加减,每个数都先转换为int,然后在运算;纵向箭头表示当运算对象为不同类型时转换的方向。例如int型与double数据进行运算时,先将int型转换为double型,然后在两个double型数据间进行运算,结果为double型。 P31[1] (从取值范围来看,刚好是从小到大) 2.下面一个例子: // 20191009.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <iostream> #include <typeinfo> using namespace std; int main() { system("color 3f"); char a = 10; int b = 3; cout << "type(a):" << typeid(a).name() << endl; cout << "type(b):" << typeid(b).name() << endl; cout << "type(a+b):" << typeid(a + b).name