码迷,mamicode.com
首页 > 编程语言 > 详细

C++基础知识(三)--数据类型转换--混合运算类型转换--赋值类型转换--强制类型转换

时间:2019-01-10 13:12:38      阅读:309      评论:0      收藏:0      [点我收藏+]

标签:符号   表达   类型转换   数据类型转换   com   绝对值   example   分享   数值运算   

系统自动类型转换:混合运算的类型转换,赋值类型转换,强制类型转换

 

一、混合运算的类型转换规则

  1.运算过程中,当某个二元运算符两边的操作数类型不同但属于类型相容时,系统先将精度低的操作数变换到与另一个操作数精度相同,然后再进行运算。

    混合运算类型转换规则:

技术分享图片

  • 字符可以作为整数参与数值运算,整数值为其ASCII码
  • 操作数为字符或短整形时,系统自动转换成整形。
  • 操作数为实型时,系统自动转换成双精度型。
  • 其余情况,当两数操作数类型不同时,将精度低(或表示范围小的)的操作数的数据类型变换到与另一操作数类型相同再进行运算

  2.example

 1 char c1,c2;
 2 int i1,i2;
 3 float x1,x2;
 4 x2=c1*i1+c1*x1+c1*c2;
 5 
 6 转换过程:     c1转换成整型,完成c1*i1,结果表示为t1;
 7              c1与x1均转换成双精度型,完成c1*x1,结果表示为t2;
 8              c1与c2均转换成整型,完成c1*c2,结果表示为t3;
 9         然后:将t1转换成双精度型,完成t1+t2,结果表示为t4;
10                  再将t3转换成双精度型,完成t3+t4,
11         最后:结果转换成单精度型赋值给x2

 




 

二、赋值类型转换

   1.系统自动进行类型转换规则:

  • 实型数赋值给整型变量:取整,注意溢出
  • 整型数赋值给实型变量:先转换为实型数
  • 字符型数赋值给整型变量:ASCII码为依据,分为两种情况,符号位是0/1时不同。
  • 绝对值较大的数赋值给表达范围较小的数据类型时,注意溢出

      在赋值运算中,当左值与右值类型不一致时,系统将按照左值的类型,自动进行强制转换。

 

C++基础知识(三)--数据类型转换--混合运算类型转换--赋值类型转换--强制类型转换

标签:符号   表达   类型转换   数据类型转换   com   绝对值   example   分享   数值运算   

原文地址:https://www.cnblogs.com/southcyy/p/10249117.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!