我的任务是获取浮点数的一部分,然后将其存储在 int 中。 这似乎很容易。我做了这个测试:
float f = 3.1415f;
printf("int pres. of float: %d\n"
"int: %d", *((int *)&f), 31415);
输出:
int pres. of float: 1078529622
int: 31415
我将它们更改为 base 2 以查看 31415 的位置。
0100 0000 0100 1001 0000 1110 0101 0110 - 3.1415
0111 1010 1011 0111 - 31415
我不知道该怎么办。我怎样才能得到分数作为一个简单的整数?