[c]代码库
/* 浮点型的存储方式 */
#include <stdio.h>
int main(void) {
float f1 = 1.0;
float f2 = 1.5;
double d1 = 1.0;
double d2 = 1.5;
long double ld1 = 1.0;
long double ld2 = 1.5;
/* 输出float型数据在内存中的存储内容 */
printf("float (1.0) = %08x\n", *(int *) (&f1));
printf("float (1.5) = %08x\n", *(int *) (&f2));
/* 输出double型数据在内存中的存储内容 */
printf("double(1.0) = %016llx\n", *(long long *) (&d1));
printf("double(1.5) = %016llx\n", *(long long *) (&d2));
/* 输出long double型数据在内存中的存储内容 */
printf("londou(1.0) = %08x %08x %08x\n", *(((int *) (&ld1)) + 2),
*(((int *) (&ld1)) + 1), *(((int *) (&ld1))));
printf("londou(1.5) = %08x %08x %08x\n", *(((int *) (&ld2)) + 2),
*(((int *) (&ld2)) + 1), *(((int *) (&ld2))));
return 0;
}
[代码运行效果截图]
by: 发表于:2017-08-21 14:34:15 顶(0) | 踩(0) 回复
??
回复评论