鸡肋小技巧:js中用parseInt实现N次方的计算
? ? ? ? 在js使用過(guò)程中,parseInt是一個(gè)比較常用的函數(shù),而不同于parseFloat,parseInt還有第二個(gè)參數(shù),用于指定解析為int類型時(shí)的進(jìn)制,例如parseInt('100',10)就是將字符串‘100’按照10進(jìn)制解析為int類型,結(jié)果是100;parseInt('100',2)就是按照2進(jìn)制轉(zhuǎn)換為int類型,結(jié)果為4。
? ? ? ? 在了解parseInt按指定進(jìn)制轉(zhuǎn)換int類型時(shí),我們會(huì)發(fā)現(xiàn)一個(gè)很有趣的規(guī)律:在parseInt('100',10)的結(jié)果100中,我們會(huì)發(fā)現(xiàn),結(jié)果100是進(jìn)制“10”的2次方,parseInt('100',2)的結(jié)果4,是進(jìn)制“2”的2次方。那么我們來(lái)改變一下,會(huì)發(fā)現(xiàn)parseInt('10000',3)的結(jié)果是81,而81是3的4次方;同理,parseInt('10000',2)的結(jié)果為16,16是2的4次方。
? ? ? ? 先不說(shuō)其中的原理,我們直接來(lái)總結(jié)規(guī)律,parse(X,Y)=Z這一計(jì)算結(jié)果中,當(dāng)X為10的N次方時(shí),Y的N次方=Z。說(shuō)的通俗一點(diǎn),當(dāng)我們要計(jì)算一個(gè)數(shù)字的N次方時(shí),例如5的7次方,我們不需要寫(xiě)成5*5*5*5*5*5*5,可以直接寫(xiě)成parseInt(10000000,5),這里第一個(gè)參數(shù)我沒(méi)有用字符串,因?yàn)闆](méi)必要,parseInt不一定要用于解析字符串,這里我們并不需要寫(xiě)成字符串。
? ? ? ? 當(dāng)然,如標(biāo)題所言,這只是一個(gè)雞肋的小技巧,因?yàn)閖s本身的內(nèi)置Math對(duì)象中,提供了計(jì)算次方數(shù)的函數(shù)Math.pow,我們完全也可以寫(xiě)成Math.pow(5,7),本文更多的是希望通過(guò)這個(gè)小技巧,來(lái)告訴大家可以在學(xué)習(xí)js的過(guò)程中,擴(kuò)展自己的思路,多發(fā)現(xiàn)各種函數(shù)的一些特別的用法,也許在什么時(shí)候,就會(huì)發(fā)現(xiàn)一些真正實(shí)用的小技巧。
?
總結(jié)
以上是生活随笔為你收集整理的鸡肋小技巧:js中用parseInt实现N次方的计算的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 2的n次方计算-c++
- 下一篇: 咸鱼Maya笔记—骨骼的基本操作