c++类型转换

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

转载于:https://my.oschina.net/lcxidian/blog/352012

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值