当前位置: 首页> 教育> 大学 > C++ 混合运算的类型转换

C++ 混合运算的类型转换

时间:2025/8/16 18:04:01来源:https://blog.csdn.net/weixin_42291376/article/details/139362515 浏览次数:0次

一 混合运算和隐式转换

2+5=7
整型2+ 浮点5 行吗?成吗?中不中?
C++ 中允许相关的数据类型进行混合运算。
相关类型。
尽管在程序中的数据类型不同,但逻辑上进行这种运算是合理的相关类型在混合运算时会自动进行类型转换,再计算隐式转换。

二 算术转换

转换原则:
确保计算值的精度。转换后尽可能不丢失有效数字。
short,2字节,能表示的数小;
int,4字节,能表示的数大;
int转short,要丢掉2字节的信息,不可取。
short转int,增加存储空间,但不丢失信息,可行。

转换方式
字节少的向字节多的转换

char,unsigned char,unsigned short,boolint cout<<('a'+5)<<endl;

精度低的向精度高的转换

int float double
cout<<(5+3.5)<<endl;

有符号向无符号转换

int unsigned int
unsigned int ui=32678
cout<<(5+ui)<<endl;

三 隐式转换时机

混合类型的表达式

int n=2;
char c='a';
cout<<(c+n)<<endl;

赋值
向左值类型转换

double a=8.12;
int k;
k=a;

在需要关系、逻辑表达式的地方。
非0转true,0转false
在这里插入图片描述

四 显式转换

程序中明确标记转换的类型,就是显式转换,也就是强制类型转换。
格式
<类型>(<表达式>)
(<类型>)<表达式>
举例

double a=128,b=30;
int n=3;
a=(double)n/2;
n=int(a/b);

总结

(1)相同类型的数据运算,结果的类型不变;
(2)不同类型的数据运算,自动向精度高的类型转换;
(3)赋值运算,向左值类型转换;
(4)强制类型转换;
(<类型>)变量或常量;
<类型>(<表达式>)
(5)精度高向精度低的类型转换,会损失精度;
(6)整型相除,结果为整型,小数被舍去;
在这里插入图片描述

关键字:C++ 混合运算的类型转换

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: