展示浮点类型的数据

本文介绍了一种将浮点数转换为其二进制表示的方法。通过将float类型的数值重新解释为int类型,可以逐位获取其二进制表示。代码示例展示了如何使用按位与操作来实现这一过程,并提供了将0.8125转换为二进制的实例。

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

	#include <stdio.h>
	#include <stdlib.h>
	/*
	num是要展示的float数,bin是保存所有二进制位的数组
	*/
	void getFloatBin(float num,char bin[])
	{
		int t = 1;//用来按位与操作
		int *f = (int*)(&num);//将float的解释成int,即float的地址转成int
		for(int i=0;i<32;i++)
		{
			//从最高位开始按位与,如果为1,则bin[i]=1,如果为0,则bin[i]=0
			//这里没有将bin存成字符,而是数字1 0
			bin[i] = (*f)&(t<<31-i)?1:0;
		}
	}
	int main()
	{
		float test = 0.8125;
		char c[32];
		printf("测试float数为:%f\n",test);
		printf("二进制表示为:");
		getFloatBin(test,c);
		for(int i=0;i<32;i++)
		{
			    printf("%d",c[i]);
			if(i==0)
			    printf(", ");
			if(i==8)
		    	printf(", ");
		}
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值