我想直接将二进制数转换为八进制数而不转换为基数10,我在math.stackexchange.com上找到了一些解决方案,但他们需要在该基础本身(不是10)中完成操作,所以有在10以外的基地进行操作的方式或算法? 我需要知道如何将数字从任何基数转换为任何基数。
答案 0 :(得分:5)
将二进制转换为八进制(反之亦然)非常简单,因为2 ^ 3 = 8。
这意味着您只需要从最低有效位转到最高有效位,并将每组3位“转换”为各自的数字。
示例:强>
101 100 110:
110 -> 6
100 -> 4
101 -> 5
八进制翻译现在只需546。
答案 1 :(得分:1)
您只需要取每组3位数字,并从最低位开始将它们转换为八进制数:
010110111011110 (base 2)
010 110 111 011 110
2 6 7 3 6 (base 8)