关于C与存储的问题,请高手赐教
1、大多数计算机存储浮点数时都遵循IEEE754标准吗?2、清华大学出版社《C程序设计试题精选》(崔武子等4人著)上面的一道题:原题如下:unionun{inta;flo...
1、大多数计算机存储浮点数时都遵循IEEE754标准吗?
2、清华大学出版社《C程序设计试题精选》(崔武子等4人著)上面的一道题:
原题如下:
union un
{
int a;
float b[2];
float c;
}
main()
{
union un w;
w.a=2000;
w.b[0]=10.2;
w.b[1]=5.3;
w.c=101;
printf("%d\n",w.a);
printf("%f\n",w.b[0]);
printf("%f\n",w.b[1]);
printf("%f\n",w.c);
}
运行后的结果是__________。
A、0 , 101.000000 ,5.300000 ,101.000000
B、2000, 10.2 ,5.3 ,101
C、不确定 ,101 ,5.3 , 101
D、2000 ,10.200000 ,5.300000 ,101.000000
答案用排除法很容易就可以选出来,但我想知道到底为什么。
请高手赐教。
答案是A,但和实际运行结果不符。C中的浮点数在计算机中是遵循IEEE754标准存储的吗?或者会因为编译器不同而不同吗? 展开
2、清华大学出版社《C程序设计试题精选》(崔武子等4人著)上面的一道题:
原题如下:
union un
{
int a;
float b[2];
float c;
}
main()
{
union un w;
w.a=2000;
w.b[0]=10.2;
w.b[1]=5.3;
w.c=101;
printf("%d\n",w.a);
printf("%f\n",w.b[0]);
printf("%f\n",w.b[1]);
printf("%f\n",w.c);
}
运行后的结果是__________。
A、0 , 101.000000 ,5.300000 ,101.000000
B、2000, 10.2 ,5.3 ,101
C、不确定 ,101 ,5.3 , 101
D、2000 ,10.200000 ,5.300000 ,101.000000
答案用排除法很容易就可以选出来,但我想知道到底为什么。
请高手赐教。
答案是A,但和实际运行结果不符。C中的浮点数在计算机中是遵循IEEE754标准存储的吗?或者会因为编译器不同而不同吗? 展开
2010-11-18
展开全部
答案是?我的编译链接执行截图如下
C语言就是用IEEE 754标准
float 是 32 位 浮点数
double 是 64 位 浮点数
关于共用体
共用体表示几个变量共用一个内存位置,在不同的时间保存不同的数据类型和不同长度的变量。在union中,所有的共用体成员共用一个空间,并且同一时间只能储存其中一个成员变量的值。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询