关于C++数据类型自动转化

img


这个图片里,“必定的转换”是什么意思呀?跟后面的“混合运算时由低向高转换”意思有什么不同吗?

char short跟其他的话必定要转换,要不然运行不了,其他的话就看情况转换

“必定的转换”和“混合运算时由低向高转换”应该是一样的,只是ppt一步一步地说而已,我举几个例子:
int n = 1+‘A';
即等同于 n = 1+65=66;
char c = 1+‘A'
等同于 c = (char)(1+65)='B'先char转换到int,然后求和,再等号右边的叫右值,左边就叫左值,66要赋值给c这个char类型的,会将66转换成字符B
再有从低到高的话,
比如说,你两个数值相加,然后两个值相同,但是两个值的变量类型不同,
类型1的取值范围为1-100
类型2的取值范围为1-400
如果最后的结果最好是什么类型的,肯定是能容纳结果的值,可是如果我是50+60=110对于类型1来说是不是溢出了,不能存储了,而类型二的取值范围大,溢出的可能性是不是最小?那就选择最靠谱的类型二作为运算的变量类型,类型1的要自动转换成类型2再运算
如果对你有帮助,望采纳

就是说char型也就是字符类型的数据在进行运算时一定是转换成它对应的ASIIC码,至少作为int型进行运算的

char和short 固定自动转换成int 和其他类型运算的时候也只转换到int