(int&)a实际相当于*((int*)&a)
------------------------------------------
float a;
(int)a; //等值变换
(int&)a; //不做任何变换,直接将内存中的值以int型表示出来
------------------------------------------
double型在内存中的表示:
符号位 阶(8位) 尾数(23位)
0 01111111 000 0000000000 0000000000
于是将其看做int型数值的话
00111111100000000000000000000000(2) = 1065353216(10)
------------------------------------------
挖个坑:
1、double型在内存中怎么表示?
2、其它基本类型之间的转化会有什么有趣的事情?
------------------------------------------
参考:http://www.cnblogs.com/from20100719/articles/1845238.html
(int)a与(int&a)的区别
时间: 2024-10-14 09:00:00