(int)a和(int &)a区别
来源:互联网 发布:网络黄金为什么没上市 编辑:程序博客网 时间:2024/04/29 15:10
float a = 1.0f; cout < < (int)a < < endl; //1 cout < < (int&)a < < endl; //1065353216
浮点数的 1.0f在内存里是这样表示的:
0011 1111 1000 0000 00000000 00000000
(int&)a:将a的引用强制转换为整型,意思是a所在的内存,本来定义的时候为float类型,并初始为1.0f,但现在我要按int类型
解释这段内存(也就是说a所在的内存地址中的数据本来是按float型存储表示的,你非要按int型来解释不可)。
1.0f 在内存中的存储为0011 1111 1000 0000 00000000 00000000
把他按整型数解释为2^29+2^28+2^27+2^26+2^25+2^24+2^23=1065353216
(int&)a 相当于*(int*)&a ; *(int*)(&a) ; *((int*)&a)
(int)a呢不同:如果 a 不是整数,就会按规则转换成整数,存入另一个地址(或临时变量)中去。
- int a,int *a,int&a和(int)&a区别
- (int&)a和(int)a, (int)&a, &a的区别
- (int&)a和(int)a的区别
- (int&)a和(int)a的区别
- (int&)a和(int)a的区别
- (int&)a和(int)a的区别
- (int&)a和(int)a的区别
- (int&)a和(int)a的区别
- (int&)a和(int)a的区别
- (int&)a和(int)a的区别
- (int&)a和(int)a的区别
- (int)a和(int &)a区别
- int *a 和 int* a 的区别
- (int&)a和(int)a的区别
- (int&)a和(int)&a的区别
- (int&)a和(int)a的区别
- (int)a和(int&)a的区别
- (int&)a和(int)a的区别
- Java中数据库连接池原理机制的详细讲解 .
- 万恶的闷帝
- uml
- C语言学习笔记1(return用法)
- uva 167 - The Sultan's Successors
- (int)a和(int &)a区别
- OpenCV边缘检测
- oracle database 11g 新特性 之设置 result cache
- volatile关键字
- 平衡二叉树(AVL)--查找、删除、插入(Java实现)
- 在系统上传的txt文件无法入库
- linux输出·输入文件和标准输入 标准输出
- 视觉直观感受7种常用的排序算法
- 数学之美番外篇:快排为什么那样快