如何将浮点数的二进制形式输出?

PEvan 2016-04-18 10:11:53
1、比如 3.14,如何将它在内存中的二进制输出在屏幕上?

2、

int main()
{
float a = 3.14;
printf("%d\n", a);

return 0;
}


输出为什么是:1610612736
...全文
1101 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
小灸舞 版主 2016-04-19
  • 打赏
  • 举报
回复 1
也可以用联合体

#include<iostream>
#include <bitset>
using namespace std;

void main()
{	
	union {
		float input;
		int output;
	} data;

	data.input = 3.14;
	std::bitset<sizeof(float) * 8>bits(data.output);
	std::cout << bits << std::endl;
}
赵4老师 2016-04-19
  • 打赏
  • 举报
回复
浮点数格式 http://bbs.csdn.net/topics/390676437 ↑此为唯一正解!
paschen 2016-04-18
  • 打赏
  • 举报
回复

	unsigned char* b = (unsigned char*)&a;
	printf("%02X %02X %02X %02X", b[0], b[1], b[2], b[3]);

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧