float f1 = 0x00000001;
printf("%lf ", f1); // 输出 1.0000000
printf("%x", f1); // 输出 0
%X不应该是输出数据的16进制?
float f1 = 0x00000001;
printf("%lf ", f1); // 输出 1.0000000
printf("%x", f1); // 输出 0
%X不应该是输出数据的16进制?
你可以参照:http://www.cplusplus.com/reference/cstdio/printf/
x:是16进制的无符号整数
你第一步已经把 0x00000001转为float了
针对你的更新:
%X不应该是输出数据的16进制
虽然是16进制 但是整数才是重点
你的f1是float
float f1 = 0x00000001;
1 回答566 阅读✓ 已解决
1 回答821 阅读
1 回答650 阅读
577 阅读
566 阅读
%x占位符用于输出无符号整型。你拿来输出浮点型肯定不对啊。