永发信息网

C语言中怎么让100000000000.00+0.000000000001=100000000000.000000000001

答案:3  悬赏:0  手机版
解决时间 2021-04-04 21:23
C语言中怎么让100000000000.00+0.000000000001=100000000000.000000000001
最佳答案
这个单纯的C 和标准库是无法做到的,IEEE定义的浮点数中最长的也只有16个字节,目前是无法放下
100000000000.000000000001
的所有的有效数字的。


可以使用一些其它的科学运算的库来做到。但是呢,最后这个尾数真的这么重要?
#include

int main()
{

        long double a,b,c;

        a = 100000000000.00;
        b = 0.000000000001;
        c = a + b;

        printf("%.13Lf
",c);
        printf("sizeof(long double)=%d
",sizeof(long double));
        return 0;
        //输出:
        //100000000000.0000000000000
        //sizeof(long double)=16



}追问好吧。。。我想知道怎么能做到 而且是用简单的方法
我测试了你的 这个程序 结果好夸张追答如果是在Linux 有GMP可以用
#include 
#include 
#include 
 
int main()
{
 mpf_t x;
 mpf_t y;
 mpf_t result;
 
 mpf_init2(x,800);
 mpf_init2(y,800);
 mpf_init2(result,800);
 
 mpf_set_str(x, "1e11", 10);
 mpf_set_str(y, "1e-11", 10);
 
 mpf_add(result, x, y);
 gmp_printf("
    %.12Ff
+
    %.12Ff
--------------------
%.12Ff

", x, y, result);
 
  
 mpf_clear(x);
 mpf_clear(y);
 mpf_clear(result);
 return EXIT_SUCCESS;
}
//输出:
//    100000000000.000000000000
//+
//    0.000000000010
//--------------------
//100000000000.000000000010 
编译时记得加上  -lgmp,比如文件名是  gmp_mpf_test.c
就这么搞

gcc  gmp_mpf_test.c -lgmp  -o gmp_mpf_test追问我编译后提示找不到gmp.h文件?是不是要安装什么库
全部回答
在8字节int平台下直接做就是了;在4字节int平台下无法直接做了,只能用字符串自己一位一位做……追问什么叫直接做?追答直接做就是很普通地做呀,不用犯愁,+就+,-就-,x就x,÷就÷,就你你3+5/4*10一样写表达式就行了!追问做给我看看
用long float定义上述浮点型变量试试;追问GCC环境下没有long float !!!追答......
好吧
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
Iwonderwhytheyarelate.They_______
干什么需要开在职证明,没有工作就不可以出国
BOOS检测不到硬盘用usb-ttl可以刷机吗
xian lu 这几个拼音的汉字怎么写
济南柏杨浩华怎么样
春联的意义
胸部突然长了一块像淤青一样黄色的东西。。但
额头前面的牛天旋有什么说法
ICP测试用的试剂,大家怎么看
读下面这段文字,根据拼音写出汉字。(4分)
巧克力可以从深圳寄到香港吗?
刚刚买的苹果手机怎么创建电子邮箱啊
惩罚的惩音序查字法查大写字母什么
诺否是什么意思及读法
4月1日太原到北京的飞机票多少钱
推荐资讯
求j2ee基于ssh模式和mysql数据库的 实现用户
加拿大签证费用多少钱,签证 加拿大 自己申请
歌词中有黄花的是什么歌曲
最新的a m d a8 -7600相当inter
51单片机的P1口整体作为输入时,是不是要通过
做事要实事求是的谚语,实事求是的名言有哪些
淘媒体能不能开发票,发票怎么开具?
沈阳市建设工程管理中心怎么样??
生命理财三号年金保险 万能型如果退款是怎样
哪位大牛进来科普一下拓扑绝缘体吧
下列那些物质的形成与内质网上及上面的核糖体
怀念初恋的一句话说说,表达作者对初恋情人思
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?