[C] 浮点型的存储方式 →→→→→进入此内容的聊天室

来自 , 2020-06-05, 写在 C, 查看 124 次.
URL http://www.code666.cn/view/b2397517
  1. /* 浮点型的存储方式 */
  2. #include <stdio.h>
  3.  
  4. int main(void) {
  5.         float f1 = 1.0;
  6.         float f2 = 1.5;
  7.  
  8.         double d1 = 1.0;
  9.         double d2 = 1.5;
  10.  
  11.         long double ld1 = 1.0;
  12.         long double ld2 = 1.5;
  13.  
  14.         /* 输出float型数据在内存中的存储内容 */
  15.         printf("float (1.0) = %08x\n", *(int *) (&f1));
  16.         printf("float (1.5) = %08x\n", *(int *) (&f2));
  17.  
  18.         /* 输出double型数据在内存中的存储内容 */
  19.         printf("double(1.0) = %016llx\n", *(long long *) (&d1));
  20.         printf("double(1.5) = %016llx\n", *(long long *) (&d2));
  21.  
  22.         /* 输出long double型数据在内存中的存储内容 */
  23.         printf("londou(1.0) = %08x %08x %08x\n", *(((int *) (&ld1)) + 2),
  24.                         *(((int *) (&ld1)) + 1), *(((int *) (&ld1))));
  25.         printf("londou(1.5) = %08x %08x %08x\n", *(((int *) (&ld2)) + 2),
  26.                         *(((int *) (&ld2)) + 1), *(((int *) (&ld2))));
  27.  
  28.         return 0;
  29. }
  30.  

回复 "浮点型的存储方式"

这儿你可以回复上面这条便签

captcha