Code Bye

浮点数问题

40H,A0H,00H,00H
这四个字节代表一个浮点数,怎么样用C语言来求出结果呢?
解决方案

5

int main()
{
	float f;
	unsigned char *p=(unsigned char *)&f;
	p[0] = 0x40;
	p[1] = 0xa0;
	p[2] = 0x00;
	p[3] = 0x00;
	printf("float value:%f",f);
	return 0;
}

想知道详情就请看https://en.wikipedia.org/wiki/IEEE_floating_point

5


5

#include<stdio.h>
int main()
{
long int n; 
printf("输入8位16进制数:");
scanf("%x",&n);
printf("%f\n",*((float*)&n));
return 0;
}

5

引用:


假如一个浮点数是0,那他的二进制,十六进制也全是0才对吧。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明浮点数问题