(int&)b 使用int类型来输出b的内存地址里的数据

本文详细解析了C++中float类型与int类型在内存中的存储方式及相互转换的过程,包括浮点数的结构、转换原理以及转换后的实际效果。通过实例演示,帮助开发者深入理解不同类型在内存中的表示与操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

float b=1.0f;
	cout<<"int(b)    "<<int(b)<<endl;
	cout<<"(int&)b   "<<(int&)b<<endl;
	cout<<"(int)&b   "<<(int)&b<<endl;
	cout<<boolalpha<<"((int)b==(int&)b)     "<<((int)b==(int&)b)<<endl;

	int a=1;
	cout<<"a         "<<a<<endl;
	cout<<"(int&)a   "<<(int&)a<<endl;
	cout<<"(int)&a   "<<(int)&a<<endl;
	cout<<boolalpha<<"((int)a==(int&)a)     "<<((int)a==(int&)a)<<endl;

 

 

cout << (int&)b << endl;,这句话应该是直接使用int类型来输出b的内存地址里的数据。0.0f时float类型的内存段里的32bit都为0。
cout << (int)&b << endl是把b的地址转化为int值输出。

float的结构为
1个符号位,8个阶码位和23个尾数位

double为
1个符号位,11个阶码位,52个尾数位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值