红石电路吧 关注:32,286贴子:153,437

某渣calculator infinite v2

取消只看楼主收藏回复

图标镇楼


IP属地:北京1楼2017-08-06 19:51回复
    之前曾经用v1申请了一下trp,略不自量力所以没过,不过v1确实是v2基础;链接:https://tieba.baidu.com/p/4960550237?
    下载链接:http://pan.baidu.com/s/1kUFGCb9


    IP属地:北京3楼2017-08-06 20:57
    收起回复
      2025-12-09 15:11:31
      广告
      不感兴趣
      开通SVIP免广告
      第一排已在上一个版本中介绍过,第二排:!(阶乘),+-×÷²√=^(a的b次方)√(b的a次方根),(在使用后两个数的运算中分隔两个数,比如log₂3写成log2,3;
      第三排lp(不大于该数的最大质数),最大公约数(gcd)、最小公倍数(lcm)(需要“,”),ln,e的a次方,排列、组合(需要“,”),³,倒数,log(如log₂3)

      第一排同样介绍过,第二排:π,e,arc(如arcsin等,在前面(写后面也行))sin,h(sinh等),cos,tan(cot sec csc算不了了)


      IP属地:北京4楼2017-08-06 21:13
      回复
        这个计算器可以选择弧度和角度(梯度就算了),按按钮可切换至该角度单位,很简单的rs锁存器;
        按按钮也可以使屏幕上的显示内容发生变化,deg(degree)和rad(radian)



        IP属地:北京5楼2017-08-06 21:15
        回复
          正式开始之前,先说说我这个的原理,简单来说,就是http://www.docin.com/touch_new/preview_new.do?id=1287974863
          讲的比较详细,实施起来也不难,主要就是+-和移位变号,调延迟决定移位


          IP属地:北京8楼2017-08-06 21:24
          收起回复
            cordic部分
            sin/cos:切换方式cosa=sin90°-a
            弧度转角度,xrad=x*180/π°,统一转化为°进行运算,预先输入180/π的二进制

            诱导公式:sin(360k+a)=sina;

            然后奇变偶不变,符号看象限,统一转化成sin。
            然后下面是整个确实的sin,分别是z,x(预先输入K),y,35次递归(要不就2^-35小于xy最小可以部分)


            IP属地:北京9楼2017-08-06 21:36
            回复
              arctan:还是cordic,后面有角转弧(*π/180),xyz,,z最小到10^-34


              IP属地:北京11楼2017-08-06 21:51
              回复
                sinh/cosh:按照那里面所说的旋转方式,sinh/cosh的定义域和arctanh的值域都会最大只有1.1左右,所以我重复了36次第一步旋转,让并且按照他所说的,4,13,40,...,1/2(3^k-1)重复一遍,这样导致k大约只有10^-5的数量级,其他就是一般的cordic
                切换方式:一般的cordic会输出一个cosh和一个sinh,选择即可

                arctanh:对sinh/cosh小改即可


                IP属地:北京13楼2017-08-06 22:03
                回复
                  2025-12-09 15:05:31
                  广告
                  不感兴趣
                  开通SVIP免广告
                  gcd:辗转相减
                  做法:输入a、b
                  如果a>b:a=a-b
                  如果a<b:b=a,a=b(实际做法是b=a-b+b,a=b,这样节省空间)
                  如果a=b:输出 a


                  IP属地:北京15楼2017-08-06 22:10
                  回复
                    tan:tana=sina/cosa
                    唯一需要注意的是,当他是kπ+π/2时,需要输出无法计算


                    IP属地:北京16楼2017-08-06 22:12
                    回复
                      tanh:需要注意的是,|sinhx|永远小于coshx,所以|tanhx|<1,除起来比较方便,还不大



                      IP属地:北京17楼2017-08-06 22:15
                      回复
                        arcsin/arccos:切换用90°-,使用arctan:arcsinx=arctanx/√1-x^2,接和arctan一样的角转弧,至此,弧度没什么用了


                        IP属地:北京18楼2017-08-06 22:18
                        回复
                          arcsinh/cosh:切换略麻烦--arcsinhx=arctanhx/√x²+1,arccoshx=arctanh√x²-1 /x,用s/c信号决定+或-,上下颠倒决定s/c,然后就是arctanh了



                          IP属地:北京19楼2017-08-06 22:21
                          回复
                            e^x:e^x=sinhx+coshx,把这两个凑一起加起来即可


                            lnx=2(手动加粗)arctanh(x-1/x+1),一开始老忘掉2,x-1,x+1很简单


                            IP属地:北京21楼2017-08-07 00:22
                            回复
                              2025-12-09 14:59:31
                              广告
                              不感兴趣
                              开通SVIP免广告
                              log a b=lnb/lna,比较容易实现,也不用管2




                              IP属地:北京22楼2017-08-07 00:26
                              回复