C语言中printf用%d输出float类型数据,或以%f输出int型数据的结果

您所在的位置:网站首页 中远海运货运 C语言中printf用%d输出float类型数据,或以%f输出int型数据的结果

C语言中printf用%d输出float类型数据,或以%f输出int型数据的结果

2023-09-16 20:57| 来源: 网络整理| 查看: 265

1.测试程序及结果 程序 #include"stdio.h" int main() { float a = 7.5, b = 1.23, c = 1.24, d = 1.25; double a1 = 7.5, b1 = 1.23, c1 = 1.24, d1 = 1.25; int e = 0, f = 1,g= 0x7fffffff; unsigned int h = 0xffffffff; unsigned long long i = 0x401E000000000000,j= 0x3FF3AE147AE147AE,k= 0x3FF3D70A3D70A3D7,l= 0x3FF4000000000000; printf("7.5_ d:%d\n7.5_x:0x%x\n7.5_llx:0x%llx\n", a,a,a); printf("7.5_ d:%d\n7.5_x:0x%x\n7.5_llx:0x%llx\n\n",a1,a1 ,a1); printf("1.23_ d:%d\n1.23_x:0x%x\n1.23_llx:0x%llx\n", b,b,b); printf("1.23_ d:%d\n1.23_x:0x%x\n1.23_llx:0x%llx\n\n", b1,b1,b1); printf("1.24_ d:%d\n1.24_x:0x%x\n1.24_llx:0x%llx\n", c,c,c); printf("1.24_ d:%d\n1.24_x:0x%x\n1.24_llx:0x%llx\n\n",c1,c1, c1); printf("1.25_ d:%d\n1.25_x:0x%x\n1.25_llx:0x%llx\n",d,d, d); printf("1.25_ d:%d\n,1.25_x:0x%x\n1.25_llx:0x%llx\n\n",d1,d1, d1); printf("0_f:%f\n\n",e); printf("1_f:%f\n\n", f); printf("0x7fffffff_f:%f\n\n",g); printf("0xffffffff_f:%f\n\n", h); printf("0x401E000000000000_f:%f\n\n", i); printf("0x3FF3AE147AE147AE_f:%f\n\n",j); printf("0x3FF3D70A3D70A3D7_f:%f\n\n", k); printf("0x3FF4000000000000_f:%f\n\n",l); return 0; } 结果: 图1 2.结果分析 IEEE754标准 (1) 单精度(32位)浮点数的结构: 图2

名称                                         长度        比特位置

符号位    Sign  (S)             : 1bit       (b31) 指数部分Exponent (E)      : 8bit       (b30-b23) 尾数部分Mantissa   (M)    : 23bit     (b22-b0)

其中的指数部分(E)采用的偏置码(biased)的形式来表示正负指数,若E



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3