首页 > 编程语言 > 详细

c++类型转换

时间:2014-12-03 23:33:37      阅读:626      评论:0      收藏:0      [点我收藏+]

1、非布尔变量赋值给布尔变量:0为false,非0为true

2、布尔变量赋值给非布尔变量:false为0,true为1

3、浮点数赋值给整数:只保留浮点数的整数部分,不讨论溢出情况

4、整数赋给浮点数:整数的小数部分为0,暂不讨论溢出情况

5、把一个数赋值给无符号类型,且溢出:先做取模运算,再赋值 

     unsigned int i;

    i = -8;

    则i = 2^32-8

6、把一个负数赋值给无符号类型:先做取模运算,再赋值

7、负数和无符号做加法算术运算,先将负数转为无符号数(先取模,再赋值),再做算术运算

        int main()

        {

         unsigned int u =10;

         int i =-42;

         int j;

         cout<<"u + i ="<<u+i<<endl;

         cin>>j;

         return 0;

        }

结果为:(2^32-42)+10=4294967264

8、值小的无符号数和值大的无符号做减法算术运算,先做减法运算,再将负结果转为无符号数

        int main()

        {

         unsigned int u =42;

         unsigned int i =10;

         int j;

         cout<<"i - u ="<<i-u<<endl;

         cin>>j;

         return 0;

        }

结果为:(10-42)+2^32 =4294967264

c++类型转换

原文:http://my.oschina.net/lcxidian/blog/352012

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!