【发布时间】:2021-08-25 11:46:39
【问题描述】:
这是我考试中的一道题。我不明白为什么这个程序的结果是:0 0 ac 40。大家可以给我解释一下吗?
这个答案在Window上。与其他操作系统(如 Linux 或 Mac)有什么不同?我也想知道。
谢谢大家。
int main ()
{
float a = 5.375;
char *p;
p = (char*)&a;
for(int i=0; i <= 3; i++)
printf("%x ", (unsigned char)p[i]);
return 0;
}
【问题讨论】:
-
“这是我考试中的一道题。” !? :-( 你必须知道float的内部表示吗?(还有字节序...)。
-
您需要查看IEEE754 才能更好地理解它
-
我很确定你的老师正在解释它。当他这样做时,您可能有更重要的事情要做。
标签: c pointers type-conversion