计算机除法和取余在实际运用中的意义
因?yàn)楸救溯^菜,所以花了很多時(shí)間才終于理清楚了計(jì)算機(jī)中去模運(yùn)算和除法運(yùn)算的用處,然后在這里分享下
眾所周知,在初步學(xué)習(xí)編程時(shí),我們總會(huì)碰到一種換算的 題目,它們有的是以金錢換算為背景,有些干脆就是告訴你比率讓你算,對(duì)于這類題,其實(shí)只要理解除法和取模的運(yùn)算,就會(huì)好理解很多,程序也能夠理得更清楚些.
首先,沒有題目就沒有形象性,所以我舉這道題目作為例子給講解下,鏈接可以看這里,或者去pta官網(wǎng)也行CSDN?????
然后,注意下這道題,從小的基元單位K,可以看出,其他幾個(gè)位制都可以通過題目給的換算出來,然后我們這里可以把換算的過程看作是一個(gè)塔型,或者說樹,那么最大的父節(jié)點(diǎn)的數(shù)量就是Galleon的數(shù)量,換言之,第一次對(duì)Knut進(jìn)行一次/29,相當(dāng)于把它換到了更上一層的Sickle節(jié)點(diǎn),在進(jìn)行一次/17,就是切換到了Galleon節(jié)點(diǎn).這是簡單的,然后我們?cè)賮砜匆幌?Sickle的換算,因?yàn)閟ickle二點(diǎn)范圍被鎖死在了[0, 17) ,也就是說,這時(shí)候剩下來的sickle是不能轉(zhuǎn)化成上一級(jí)的節(jié)點(diǎn)的,那么我們就可以通過取余的操作,取余的操作相當(dāng)于挖去已經(jīng)被用掉的全部節(jié)點(diǎn),最后剩下來的節(jié)點(diǎn),同時(shí),這里剩下來的節(jié)點(diǎn)都是knut,因?yàn)槿∮鄾]有進(jìn)制轉(zhuǎn)化的功能它是給我們基元的數(shù)量.那么我們要得到S就必須要將K%29%17,這時(shí)候是剩下來的kunt的數(shù)量,那么我們將它它除以29,就可以得到結(jié)果,而K就相當(dāng)于找到全部不能構(gòu)成上一級(jí)節(jié)點(diǎn)的剩余全部節(jié)點(diǎn),所以直接對(duì)%29取余就好,不需要進(jìn)一步對(duì)17取余
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的计算机除法和取余在实际运用中的意义的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1036 跟奥巴马一起编程 (15 分)
- 下一篇: 1042 字符统计 (20 分)(c语言