求根函数

平时编码中经常遇到求根函数,比如1024占多少bit,即求  \log_{2}1024值为多少?为此编写一个小程序,方便使用,语言为Rust,仅供参考:

 

fn rooting(base: f64, num: f64) -> f64 {
    let mut quotient = num / base;
    let mut ret = 0.0;
    while quotient > 1.0 {
        ret += 1.0;
        quotient = quotient / base;
    }
    ret + quotient
}
fn main() {
    let base = 2.0;
    for i in 0..64 {
        println!("base {} num {} log {}", base, i, rooting(base, i as f64));
    }
}

 

测试 base=2,num为[0, 64]计算结果:

base 2 num 0 log 0
base 2 num 1 log 0.5
base 2 num 2 log 1
base 2 num 3 log 1.75
base 2 num 4 log 2
base 2 num 5 log 2.625
base 2 num 6 log 2.75
base 2 num 7 log 2.875
base 2 num 8 log 3
base 2 num 9 log 3.5625
base 2 num 10 log 3.625
base 2 num 11 log 3.6875
base 2 num 12 log 3.75
base 2 num 13 log 3.8125
base 2 num 14 log 3.875
base 2 num 15 log 3.9375
base 2 num 16 log 4
base 2 num 17 log 4.53125
base 2 num 18 log 4.5625
base 2 num 19 log 4.59375
base 2 num 20 log 4.625
base 2 num 21 log 4.65625
base 2 num 22 log 4.6875
base 2 num 23 log 4.71875
base 2 num 24 log 4.75
base 2 num 25 log 4.78125
base 2 num 26 log 4.8125
base 2 num 27 log 4.84375
base 2 num 28 log 4.875
base 2 num 29 log 4.90625
base 2 num 30 log 4.9375
base 2 num 31 log 4.96875
base 2 num 32 log 5
base 2 num 33 log 5.515625
base 2 num 34 log 5.53125
base 2 num 35 log 5.546875
base 2 num 36 log 5.5625
base 2 num 37 log 5.578125
base 2 num 38 log 5.59375
base 2 num 39 log 5.609375
base 2 num 40 log 5.625
base 2 num 41 log 5.640625
base 2 num 42 log 5.65625
base 2 num 43 log 5.671875
base 2 num 44 log 5.6875
base 2 num 45 log 5.703125
base 2 num 46 log 5.71875
base 2 num 47 log 5.734375
base 2 num 48 log 5.75
base 2 num 49 log 5.765625
base 2 num 50 log 5.78125
base 2 num 51 log 5.796875
base 2 num 52 log 5.8125
base 2 num 53 log 5.828125
base 2 num 54 log 5.84375
base 2 num 55 log 5.859375
base 2 num 56 log 5.875
base 2 num 57 log 5.890625
base 2 num 58 log 5.90625
base 2 num 59 log 5.921875
base 2 num 60 log 5.9375
base 2 num 61 log 5.953125
base 2 num 62 log 5.96875
base 2 num 63 log 5.984375

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值