浮点数f和浮点数的相反数-f在内存中怎么表示

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/linxizi0622/article/details/69256915

举个例子,f=3.0

那么f的二进制表示为

0x40400000

那么-f的二进制表示为

0xc0400000

用下面的代码可以测得

#include<stdio.h>
union
{
char x[4];
float f;
}a;
int main()
{
//f=3
a.x[0]=0x00;
a.x[1]=0x00;
a.x[2]=0x40;
a.x[3]=0xC0;
printf("%f",a.f);
//f=-3
//a.x[0]=0x00;
//a.x[1]=0x00;
//a.x[2]=0x40;
//a.x[3]=0x40;
//printf("%f",a.f);
return 0;
}

那么-f=f^0x80000000

猜你喜欢

转载自blog.csdn.net/linxizi0622/article/details/69256915
今日推荐