用c语言怎么获得小数点后n位有效数字!!

[复制链接]
查看11 | 回复7 | 2011-9-19 01:17:13 | 显示全部楼层 |阅读模式
回复

使用道具 举报

千问 | 2011-9-19 01:17:13 | 显示全部楼层
使用浮点数可以看到后面最小6位数追问需要n位,很长的!!谢谢
回复

使用道具 举报

千问 | 2011-9-19 01:17:13 | 显示全部楼层
微型机一般不容易达到
回复

使用道具 举报

千问 | 2011-9-19 01:17:13 | 显示全部楼层
要用链表,就像大数相加,可是我不会!!
回复

使用道具 举报

千问 | 2011-9-19 01:17:13 | 显示全部楼层
你可以用%.nf来控制输出你要看到的小数点位数,n表示你要保留的位数例:printf(\"%.9f\",a);表示:输出的a的小数点后面保留9为追问这个很长的也可以?要到1000~2000位甚至更高!!!能不能写一小段主代码看看!!!谢了!!
回复

使用道具 举报

千问 | 2011-9-19 01:17:13 | 显示全部楼层
#includestdio.hmain(){floata=5.4;printf(\"%.300f\",a);}输出个300还可以,想要输出1000-2000是做不到的,也许有其他的办法,不过个人觉得输出小数点后1000位并没有什么意义。
回复

使用道具 举报

千问 | 2011-9-19 01:17:13 | 显示全部楼层
额doublefloat估计都不能满足你的需求了这个需要用到高精度算法的
回复

使用道具 举报

千问 | 2011-9-19 01:17:13 | 显示全部楼层
楼上程序纯属搞笑后面绝对是补0的那叫有效数字?我来回答你的问题:浮点型最大的double什么叫double型他是最大的存储为16位有效数字而且这16个有效数字是包括整数的。比如doublei=1.0123456789123456789这里有20位如果用输出函数printf(\"%.300f\",i);你可以试试只输出了前16位(包括整数的),后面的全部补零,直到300位暂时还没有存储1000~2000位的数据类型追问这个还像是需要专门的代码,要用到链表........有没有知道的!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行