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

c++类型转换

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

标签:style   sp   bs   line   c++   nbsp   br   ht   return   

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++类型转换

标签:style   sp   bs   line   c++   nbsp   br   ht   return   

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

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