将 16 位二进制值转换为八进制

Convert a 16 Bit Binary Value to Octal

您好,我想知道一种快速简便的方法来执行此二进制值的数字转换:

1000100000001011 到八进制。

在十六进制中,我可以手动快速转换为 0xAA0B。想出这个二进制的十进制值需要更多的工作,但最终你可以得到 32,768 + 2,048 + 11 = 34,827

我知道八进制模式像 8 = 10, 9 = 11 .... 16 = 20, 17 = 21 ... 24 = 30, 等。但是我无法在不费吹灰之力的情况下转换为八进制。

任何人都可以为我解决这个问题,也许可以提供一种可以帮助将二进制转换为八进制的速记方法。编程示例很好,但我真的在寻找解释。谢谢

最快的方法是将二进制数从右端开始分成3位块,根据需要从左边补0,然后将每个块转换为八进制数。

例如,

1000100000001011 -> 001 000 100 000 001 011 [2 0's added to the left]
                 ->   1   0   4   0   1   3
                 -> 104013