用户:
SunshineCode查看:112 回复:5 评论:7 创建时间:2019-04-22T21:05:55
不知道大家有没有玩过我的游戏
!逃跑!
https://lab.codemao.cn/work/6879893
这款游戏,
上上个星期上了【新作喵喵看】,
上个星期成功晋级到了【热门推荐】。
这是本喵,
SunshineCode的第一个,
上首页的作品!
只可惜啊,
截至周日23:59,
本作品获得了290个赞,
距离上【点猫精选】仅仅差10个赞啊...
![]()
不过没关系!
本喵又不是只依赖首页。
说说最近吧,
本喵又新出了一个作品哦!
这就是我上周研制、本周改善的
圆周率的计算!
https://shequ.codemao.cn/work/21595231
上个星期,我用了莱布尼茨和牛顿的公式,
但是这两个π计算公式运算都很慢,
要算到小数点后第七位,
就要算400+秒,20000000+次二级运算
憋喵人啦...

不过,
经过上周末的改动,
我用了牛顿的π计算公式↓↓↓
计算快了好多...
还不是一般的快...
这个速度,要飞了!
只能说,算的贼™快(我没说脏话,™是商标)
算到小数点后7为,现在连0.1秒都不用
但是,在编程猫,除法只能运算到小数点后15位
所以
技术喵?!?
能不能让编程猫计算出的位数多一点?!?
最后说句——
编程猫加油!
雷电猴加油!
阿尔法加油!
技术喵加油!
官网所有的喵,加油!!!

在计算机中双精度浮点数使用 喵 位(8字节) 来存储数据,其中第63位为符号位,第62-52位表示指数,小数点在第51-52位之间,第51-0位表示小数部分,可以表示的数字的绝对值范围大约是:2.23x10-308 ~ 1.79x10308。需要注意的是双精度浮点数表示小数的部分共52个二进制位数,相对应的它可以表示十进制的15或16位有效数字,so,请不要为难我们的技术猫了。
点赞0
评论
哦,好的,知道了(虽然我不懂)
SunshineCode今天读到掌心的回复,了解了一下,虽然不懂,但是计算位数这个事就算了吧!另外,感谢大家对本人(喵)的支持!
点赞0
评论
在kitten中测试了一下,能精确表示的整数:2^53=9007199254740992,2^54=18014398509481984,注意2^55=36028797018963970已经产生误差了,这个就非常有意思啦!想要在kitten中提高计算精度也不是不可能,需要曲线救国了,emm,牺牲计算速度来提高精度...容我想想
如果用C语言可以实现吗
c肯定是没问题的,c有丰富的位运算,而且执行效率高!
超高精度数如何存储和运算,说到底,就是个数据结构的问题。我初步的想法是使用列表储存超高精度数,以十进制数为例,将个位放在L1,十位放L2,百位放L3...列表支持多长就可放多少位,当2个超高精度数相加时,个位与个位相加,产生的进位与他们的十位之和相加,依次类推,即可构建基于超高精度数整数加法的函数了!
然后再构建超高精度整数减法,乘法,除法...再然后你的想法就可以实现!推荐马青公式计算圆周率,他的计算都是基于整数的运算相对而言比较容易实现,如果一定要用牛顿,你就得重新设计和考虑如何储存和运算超高精度小数(手机码字不易,先这样吧!不懂再问)
好的,我的研究目的也达到了,感谢你的支持与帮助!