首页 > 代码库 > 取一个数的前几位

取一个数的前几位

先看对数的性质,loga(b^c)=c*loga(b),loga(b*c)=loga(b)+loga(c);

(每次给的数位数都不确定,通过取对数变得很简单)
假设给出一个数10234432,用科学计数法1.0234432*10^7表示,那么log10(10234432)=log10(1.0234432*10^7)=log10(1.0234432)+7;

log10(1.0234432)就是log10(10234432)的小数部分.(这里的小数部分,个位数字不是0,科学计数法嘛)

log10(1.0234432)=0.010063744
10^0.010063744=1.023443198
那么要取几位就很明显了吧~
先取对数(对10取),然后得到结果的小数部分bit,pow(10.0,bit)

取一个数的前几位