w****n 发帖数: 31 | 1 here is the program:
#include
int main()
{
long double a;
a = 1.0/3.0;
printf("%40.40Lf\n",a);
return 0;
}
mary015-01dhcp57:/home/wilson/program/PRECISION # icc -long_double long.c
mary015-01dhcp57:/home/wilson/program/PRECISION # ./a.out
0.3333333333333333148296162562473909929395
wuwuwu, 为什么还是连20个3都得不到? |
w****n 发帖数: 31 | 2 看了一下icc的manual,也没有找到和-r16(ifc)相对应的complie option.
【在 w****n 的大作中提到】 : here is the program: : #include : int main() : { : long double a; : a = 1.0/3.0; : printf("%40.40Lf\n",a); : return 0; : } : mary015-01dhcp57:/home/wilson/program/PRECISION # icc -long_double long.c
|
w****n 发帖数: 31 | 3 今天晚上怎么一个都不在? :(
【在 w****n 的大作中提到】 : 看了一下icc的manual,也没有找到和-r16(ifc)相对应的complie option.
|
w****n 发帖数: 31 | 4 re-run the code with the folloiwng modify but sitll not working.
#include
int main()
{
long double a;
a = 1.0/3.0;
printf("%40.40Lf\n",a);
printf("float=%d\n", sizeof(float));
printf("double=%d\n", sizeof(double));
printf("long double=%d\n", sizeof(long double));
return 0;
}
mary015-01dhcp57:/home/wilson/program/PRECISION # icc -long_double long.c
mary015-01dhcp57:/home/wilson/program/PRECISION # ./a.out
0.333333333333333314829616256
【在 w****n 的大作中提到】 : 今天晚上怎么一个都不在? :(
|
h***o 发帖数: 539 | 5 0.3333333333333333333423683514373792036167
还是跟上次一样,我很怀疑你的程序是不是一定需要用这种方法来提高精度。
a = 1.0L/3.0L;
【在 w****n 的大作中提到】 : re-run the code with the folloiwng modify but sitll not working. : #include : int main() : { : long double a; : a = 1.0/3.0; : printf("%40.40Lf\n",a); : printf("float=%d\n", sizeof(float)); : printf("double=%d\n", sizeof(double)); : printf("long double=%d\n", sizeof(long double));
|
w****n 发帖数: 31 | 6 谢谢!
我也不觉得要靠这种办法来提高精度。但是老板要try,我也没有办法。
好像80bits对icc/c是到头了?
为什么ifc/fortran能够这么容易就到128bits by using real 16 plus -r16?
【在 h***o 的大作中提到】 : 0.3333333333333333333423683514373792036167 : 还是跟上次一样,我很怀疑你的程序是不是一定需要用这种方法来提高精度。 : : a = 1.0L/3.0L;
|
w****n 发帖数: 31 | 7 i think for icc complier, if we want to get more than 20 significant digits,
then we will have to use SSE assmebly language.
use some datatype like __m128. sounds very strange since ifc is so easy to
get extra precision.
am i right?
long.c
【在 w****n 的大作中提到】 : 谢谢! : 我也不觉得要靠这种办法来提高精度。但是老板要try,我也没有办法。 : 好像80bits对icc/c是到头了? : 为什么ifc/fortran能够这么容易就到128bits by using real 16 plus -r16?
|
a******s 发帖数: 232 | 8 且不说有没有必要做这么多位(其实我第一篇就说了,meaningless),但是
从这些讨论第三次体会到fortran在数值计算方面强于c/c++,kaka
【在 w****n 的大作中提到】 : 谢谢! : 我也不觉得要靠这种办法来提高精度。但是老板要try,我也没有办法。 : 好像80bits对icc/c是到头了? : 为什么ifc/fortran能够这么容易就到128bits by using real 16 plus -r16?
|
w****n 发帖数: 31 | 9 i don't understand either why c/c++ is such stupid in terms of computation.
or maybe i am just too silly to know how to use .
【在 a******s 的大作中提到】 : 且不说有没有必要做这么多位(其实我第一篇就说了,meaningless),但是 : 从这些讨论第三次体会到fortran在数值计算方面强于c/c++,kaka
|