相关疑难解决方法(0)

添加两个浮点数

我想计算两个IEEE 754二进制64号的总和,四舍五入.为此我在下面写了C99程序:

#include <stdio.h>
#include <fenv.h>
#pragma STDC FENV_ACCESS ON

int main(int c, char *v[]){
  fesetround(FE_UPWARD);
  printf("%a\n", 0x1.0p0 + 0x1.0p-80);
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用各种编译器编译并运行我的程序:

$ gcc -v
…
gcc version 4.2.1 (Apple Inc. build 5664)
$ gcc -Wall -std=c99 add.c && ./a.out 
add.c:3: warning: ignoring #pragma STDC FENV_ACCESS
0x1p+0
$ clang -v
Apple clang version 1.5 (tags/Apple/clang-60)
Target: x86_64-apple-darwin10
Thread model: posix
$ clang -Wall -std=c99 add.c && ./a.out 
add.c:3:14: warning: pragma STDC FENV_ACCESS ON is not supported, ignoring
      pragma [-Wunknown-pragmas]
#pragma …

floating-point gcc c99 clang fenv

18
推荐指数
2
解决办法
1207
查看次数

标签 统计

c99 ×1

clang ×1

fenv ×1

floating-point ×1

gcc ×1