c++ - printf 数据输出问题

浏览:23日期:2023-04-28

问题描述

问题解答

回答1:

%x占位符用于输出无符号整型。你拿来输出浮点型肯定不对啊。

回答2:

你可以参照:http://www.cplusplus.com/reference/cstdio/printf/

x:是16进制的无符号整数

你第一步已经把 0x00000001转为float了

针对你的更新:

%X不应该是输出数据的16进制

虽然是16进制 但是整数才是重点

你的f1是float

float f1 = 0x00000001;

回答3:

浮点数在底层运算和整形不一样,浮点数在运算时,有自己独立浮点栈,浮点栈每一寄存器80位,printf('%x'),使用的结果是浮点数直接出站的结果(结果用64位表示),所以并不是32位

相关文章: