avatar
老大们再帮一把吧# Computation - 科学计算
w*n
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都得不到?
avatar
w*n
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

avatar
w*n
3
今天晚上怎么一个都不在? :(

【在 w****n 的大作中提到】
: 看了一下icc的manual,也没有找到和-r16(ifc)相对应的complie option.
avatar
w*n
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 的大作中提到】
: 今天晚上怎么一个都不在? :(
avatar
h*o
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));

avatar
w*n
6
谢谢!
我也不觉得要靠这种办法来提高精度。但是老板要try,我也没有办法。
好像80bits对icc/c是到头了?
为什么ifc/fortran能够这么容易就到128bits by using real 16 plus -r16?

【在 h***o 的大作中提到】
: 0.3333333333333333333423683514373792036167
: 还是跟上次一样,我很怀疑你的程序是不是一定需要用这种方法来提高精度。
:
: a = 1.0L/3.0L;

avatar
w*n
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?

avatar
a*s
8
且不说有没有必要做这么多位(其实我第一篇就说了,meaningless),但是
从这些讨论第三次体会到fortran在数值计算方面强于c/c++,kaka

【在 w****n 的大作中提到】
: 谢谢!
: 我也不觉得要靠这种办法来提高精度。但是老板要try,我也没有办法。
: 好像80bits对icc/c是到头了?
: 为什么ifc/fortran能够这么容易就到128bits by using real 16 plus -r16?

avatar
w*n
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

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。