我有这样的 float 变量
float f = 0b 00000000 11110001 00000000 00000000
我想将第 1 个(不是第 0 个)字节放入 char 变量。 我不能做 << 和 >>。 我该怎么做?
最佳答案
一般来说,浮点值的二进制表示几乎没有什么乱七八糟的。您将尝试的任何东西都不可移植。然而,一般来说,这两个工作:
char c(reinterpret_cast<char*>(&f)[1]);
union {
float f;
char c[sizeof(float)];
} u = { f };
u.c[1];
关于c++ - 右移 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8779716/