(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