[請問] 可以在做進位轉換的時候不經過十進位嗎

作者: Cavaliers (cavaliers)   2018-02-03 16:55:19
通常在教 m 進位轉換成 n 進位的時候
都會說先把 m 進位轉成十進位 然後再從十進位轉成 n 進位
有沒有辦法跳過十進位 直接做轉換呢?
比如: 三進制 1221102 直接轉成五進制?
感謝
作者: chinnez (稜靘)   2018-02-03 17:11:00
絕大多數人腦沒辦法直接作無倍數關係的進位制吧…絕大多數人腦沒辦法直接作無倍數關係的進位制轉換吧…上面那句漏字
作者: ChungLi5566 (中壢56哥)   2018-02-03 17:20:00
可以啊 2、8、16進位可以直接轉
作者: higger (朝鄉而行2016)   2018-02-03 17:25:00
應該可以推導出公式吧
作者: a88241050 (再回頭已是百殘身)   2018-02-03 17:59:00
除非m和n都是某數的次方,比如說2,8 ; 3,9 ,否則基本上應該是不行
作者: eagle0149 (疾如風 徐如林)   2018-02-03 18:01:00
寫程式阿
作者: ChungLi5566 (中壢56哥)   2018-02-03 18:18:00
也都可以經過2進位來轉
作者: waynex (waynex)   2018-02-03 18:22:00
把5寫成三進位是12 剩下就跟十進位一樣算法
作者: wxtab019 (天霜凝月)   2018-02-03 18:31:00
沒有什麼不行的阿 你先理解進位制是怎麼表示的就行了用短一點的舉例推文比較好寫 像12021(3)->???(5)12021(3)=1*3^4+2*3^3+0*3^2+2*3^1+1*3^0轉成(5)就a*5^3+b*5^2+c*5^1+d*5^0而已
作者: yzfr6 (扮關二哥!)   2018-02-03 18:50:00
能找到規律就行
作者: waynex (waynex)   2018-02-03 19:04:00
用人腦也可以直接算 不過乘法除法都要用三進位就是比如說 2*2=11 或是 12*2=101 或是 22*2=1211221102101111...02002...10102...12...1所以就得到(2)(1)(1)(10)(0) = 21130
作者: jatj   2018-02-04 03:27:00
程式最基本單位是二進位 所以最有效率一定是二進位
作者: wray (Rayf)   2018-02-05 23:26:00
應該可以,只是必須先掌握M或N進位的運算方式到一定程度。一般人的腦袋無法負荷這種運作,又只是任務式的轉換,然後要回到十進位的世界。所以這不會在一般討論之列。

Links booklink

Contact Us: admin [ a t ] ucptt.com