类型转换 float与int ,(int&)a,(int)&a

#include <iostream.h>
#include <conio.h>
#include <stdlib.h>

int main()
{
	float a=1.0f;
	cout<<(int)a<<endl;
	cout<<&a<<endl;
	cout<<(int&)a<<endl;
	cout<<"结果= "<<((int)a==(int&)a)<<endl;

	float b=0.0f;
	cout<<(int)b<<endl;
	cout<<&b<<endl;
	cout<<(int&)b<<endl;
	cout<<"结果= "<<((int)b==(int&)b)<<endl;
	return 0;

}

float a=1.0f在内存中表示为0X3f800000(1065353216);浮点数和整形表示不同

(int&)a 将a由float强制转换成Int引用;因此此时输出十进制表示形式

(int)&a将a的地址转为int类型

输出结果为:




posted @ 2012-10-12 16:17  SolarJupiter  阅读(362)  评论(0编辑  收藏  举报