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

看板ask作者 (Cavaliers)時間6年前 (2018/02/03 16:55), 6年前編輯推噓1(1026)
留言27則, 10人參與, 6年前最新討論串1/1
通常在教 m 進位轉換成 n 進位的時候 都會說先把 m 進位轉成十進位 然後再從十進位轉成 n 進位 有沒有辦法跳過十進位 直接做轉換呢? 比如: 三進制 1221102 直接轉成五進制? 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 184.99.136.162 ※ 文章網址: https://www.ptt.cc/bbs/ask/M.1517648122.A.265.html

02/03 17:11, 6年前 , 1F
絕大多數人腦沒辦法直接作無倍數關係的進位制吧…
02/03 17:11, 1F

02/03 17:11, 6年前 , 2F
絕大多數人腦沒辦法直接作無倍數關係的進位制轉換吧…
02/03 17:11, 2F

02/03 17:12, 6年前 , 3F
上面那句漏字
02/03 17:12, 3F

02/03 17:20, 6年前 , 4F
可以啊 2、8、16進位可以直接轉
02/03 17:20, 4F

02/03 17:25, 6年前 , 5F
應該可以推導出公式吧
02/03 17:25, 5F
補充一下 不是要用人腦算 是問數學上如何做到這件事

02/03 17:59, 6年前 , 6F
除非m和n都是某數的次方,比如說2,8 ; 3,9 ,否則基本
02/03 17:59, 6F

02/03 17:59, 6年前 , 7F
上應該是不行
02/03 17:59, 7F

02/03 18:01, 6年前 , 8F
寫程式阿
02/03 18:01, 8F

02/03 18:18, 6年前 , 9F
也都可以經過2進位來轉
02/03 18:18, 9F

02/03 18:22, 6年前 , 10F
把5寫成三進位是12 剩下就跟十進位一樣算法
02/03 18:22, 10F

02/03 18:31, 6年前 , 11F
沒有什麼不行的阿 你先理解進位制是怎麼表示的就行了
02/03 18:31, 11F

02/03 18:33, 6年前 , 12F
用短一點的舉例推文比較好寫 像12021(3)->???(5)
02/03 18:33, 12F

02/03 18:34, 6年前 , 13F
12021(3)=1*3^4+2*3^3+0*3^2+2*3^1+1*3^0
02/03 18:34, 13F

02/03 18:35, 6年前 , 14F
轉成(5)就a*5^3+b*5^2+c*5^1+d*5^0而已
02/03 18:35, 14F
這個基本上就是透過十進位換算

02/03 18:50, 6年前 , 15F
能找到規律就行
02/03 18:50, 15F

02/03 19:04, 6年前 , 16F
用人腦也可以直接算 不過乘法除法都要用三進位就是
02/03 19:04, 16F

02/03 19:06, 6年前 , 17F
比如說 2*2=11 或是 12*2=101 或是 22*2=121
02/03 19:06, 17F

02/03 19:06, 6年前 , 18F
1221102
02/03 19:06, 18F

02/03 19:07, 6年前 , 19F
101111...0
02/03 19:07, 19F

02/03 19:07, 6年前 , 20F
2002...10
02/03 19:07, 20F

02/03 19:07, 6年前 , 21F
102...1
02/03 19:07, 21F

02/03 19:07, 6年前 , 22F
2...1
02/03 19:07, 22F

02/03 19:09, 6年前 , 23F
所以就得到(2)(1)(1)(10)(0) = 21130
02/03 19:09, 23F
感謝 看來結論就是要使用 m 進位制的運算子 所以用程式語言實現還是得透過十進制

02/04 03:27, 6年前 , 24F
程式最基本單位是二進位 所以最有效率一定是二進位
02/04 03:27, 24F
這跟問題無關喔 就算使用 bitwise operation 也還是得經過兩次轉換 本質上還是 m 先轉 10, 10 再轉 n ※ 編輯: Cavaliers (70.184.89.171), 02/04/2018 05:41:49

02/05 23:26, 6年前 , 25F
應該可以,只是必須先掌握M或N進位的運算方式到一定程度。一
02/05 23:26, 25F

02/05 23:27, 6年前 , 26F
般人的腦袋無法負荷這種運作,又只是任務式的轉換,然後要回
02/05 23:27, 26F

02/05 23:27, 6年前 , 27F
到十進位的世界。所以這不會在一般討論之列。
02/05 23:27, 27F
文章代碼(AID): #1QTNZw9b (ask)