【发布时间】:2019-03-25 18:07:48
【问题描述】:
我正在努力理解,我是初学者。
我想用二进制浮点数进行算术运算。
我使用http://www.binaryconvert.com/result_float.html 进行转换
只有他还给我:
1069547520.000000
1069547520.000000
2139095040.000000
这是什么?
我希望这样:
00111111110000000000000000000000
00111111110000000000000000000000
01000000010000000000000000000000
printf() 中的%f 也会出错吗?
#include <stdio.h>
int main()
{
float a = 0b00111111110000000000000000000000; /* 1.5 */
float b = 0b00111111110000000000000000000000; /* 1.5 */
float c;
c = a + b; /* 3.0 !? */
printf("%f\n", a);
printf("%f\n", b);
printf("%f\n", c);
return 0;
}
【问题讨论】:
-
“我想用二进制浮点数进行算术运算。”所有标量类型的所有算术运算都以二进制形式完成。你*真正*想要什么?
-
我知道返回给我但我不理解的价值