博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c++类型转换
阅读量:7113 次
发布时间:2019-06-28

本文共 612 字,大约阅读时间需要 2 分钟。

hot3.png

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

你可能感兴趣的文章
Swift遍历字符串,字典
查看>>
UITableView 列表视图1
查看>>
ORACLE PL/SQL练习(一)
查看>>
希望能有个好的将来
查看>>
我的linux Mint之路(二)
查看>>
Scala对象 转Json字符串
查看>>
第五章 类
查看>>
你知道长辈的心吗?
查看>>
ambari 告警
查看>>
Scala Abstract Class
查看>>
查询EBS低效程序
查看>>
nil? blank? empty? 的区别
查看>>
简单工厂模式 & 工厂方法模式 & 抽象工厂模式
查看>>
如何关闭visual studio2005实时调试器
查看>>
DotNetBar for Windows Forms 12.2.0.7_冰河之刃重打包版原创发布-带官方示例程序版
查看>>
oracle存储过程
查看>>
HTTP协议详解
查看>>
svn的搭建与使用
查看>>
大型网站技术架构(五)网站高可用架构
查看>>
RabbitMQ学习总结(7)——Spring整合RabbitMQ实例
查看>>