是否可以在 int 变量中存储浮点值

Ron*_*Ron 4 c

我想将浮点值存储在整数变量中并打印该整数变量,并且我想查看浮点值本身。到底能不能做?

Jab*_*cky 5

如果您想查看变量的位模式,float您可以这样做:

#include <stdio.h>
#include <stdint.h>
#include <string.h>

int main(void) {
    uint8_t bitpattern[sizeof (float)];
    float f = 3.1414;
    memcpy(bitpattern, &f, sizeof (float));

    for (int i = 0; i < sizeof (float); i++)
      printf("%02x ", bitpattern[i]);
}
Run Code Online (Sandbox Code Playgroud)

  • 当您将更多字节从一种类型复制到另一种类型时,目标类型的硬件机制可以生成陷阱表示(即硬件错误)。谷歌搜索“memcpy traprepresentation”了解详细信息。 (2认同)