1. 程式人生 > >取一個數的前幾位

取一個數的前幾位

得到 一個 了吧 裏的 表示 數字 部分 ^c 小數

先看對數的性質,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)

取一個數的前幾位