首先我們來看乙個十進位制的數:321.
那麼我們按照這種用這種思想去看待另外兩個數:二進位制的11010和八進位制的032:
·11010=1*2^4+1*2^3+1*2^1=26
·032=3*8^1+2*8^0
有了上面三個例子,我們來加以說明一下:其實二進位制、八進位制等和十進位制等是一樣一樣的,只是十進位制的個位可以容納10個數——0~9,逢十進一,八進位制的個位只能容納8個數——0~7,逢八進一。其他進製以此類推
那麼我們根據已上分析和例子可以推出乙個公式:
設有n進製m位數」abcd···m」那麼這個n進製數轉換為十進位制為:a*n^(m-1)+b*n^(m-2)+···+m*n^0.
我們通常對十進位制是手到擒來,但是對於其他進製往往要思考一番,私以為由主要兩個原因——1.日常中我們實在很難用到其他進製,用得少,需要用時自然生硬;2.我們擁有天然的0~9阿拉伯數字,顯然10進製是在人類計數中是根紅苗正的。
雖然其他進製我們不常用,但是若知曉原理,稍微一推導一想其實還是很簡單的。
進製轉換(任意進製轉換)
a進製轉b進製 思想 a進製轉十進位制 十進位制轉b進製 a進製轉十進位制 include include includeusing namespace std const int p 16 p代表 a進製 int main cout 十進位制轉b進製 include includeusing na...
進製進製進製 轉換
從剛學計算機就對進製轉換有著莫名的反感,2進製 8進製 10進製 16進製制各種轉換。下面就說下邏輯位址轉換成實體地址的求法吧 首先,使用者輸入乙個16進製制的數字cin hex logic add hex的意思是告訴計算機輸入的數是以16進製制方式輸入的 這個時候你要是輸出cout cout 經過...
進製轉換( R進製)
time limit 1 sec memory limit 128 mb 64bit io format lld submitted 3 accepted 1 submit status web board 我們可以用這樣的方式來表示乙個十進位制數 將每個阿拉伯數字乘以乙個以該數字所處位置的值 減1...