首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于(int&)挟制类型转换

2012-09-19 
关于(int&)强制类型转换谁能解释一下下面的代码float a 1.0fcout (int)a endlcout &a end

关于(int&)强制类型转换
谁能解释一下下面的代码
  float a = 1.0f;
  cout << (int)a << endl;
  cout << &a << endl;
  cout << (int&)a << endl;
  cout <<boolalpha<<((int)a ==(int&)a) << endl;
   
  float b = 0.0f;
  cout << (int)b << endl;
  cout << &b << endl;
  cout << (int&)b << endl;
  cout <<boolalpha<<((int)b ==(int&)b) << endl;
输出如下:
1
001FFBC0
1065353216
false
0
001FFBB4
0
true
关于(int&)这一强制类型转换也解释一下吧,谢谢!

[解决办法]
(int&)a 相当于 *(int*)(&a)
[解决办法]
同上,(int&)a就是将a变量用int类型来解释

float a = 1.0f,在计算机中存储的值为0x3F800000,对应的十进制的值就是065353216

float b = 0.0f,在计算机中存储的值为0x00000000,对应的十进制的值就是000000000

热点排行