【发布时间】:2011-03-27 18:56:06
【问题描述】:
这是关于如何在二进制到八进制,八进制到十六进制,二进制到十六进制之间进行数字转换..(在所有这些十进制中,在源或目标中都不存在)
每当源或目标中涉及小数时,我都有一个通用的方法,
- 如果十进制是源,则以目标为基数对该数字进行模运算。 (并以同样的方式继续,得到结果),
示例:将十进制 20 转换为八进制- 20 模 8 = 4
- 2 = 2
- 20 模 8 = 4
所以它是八进制的 24。这样你就可以从 Decimal 做任何事情(二进制、十六进制)。
- 如果十进制是目标,则对源的基数从 0 到 N 进行乘法运算,从左到右开始。并加起来得到小数。
示例:将二进制 1010 转换为十进制- 0 : 0 x 2**0 = 0
- 1 : 1 x 2**1 = 2
- 0 : 0 x 2**2 = 0
- 1: 1 x 2**3 = 8
- 0 : 0 x 2**2 = 0
- 1 : 1 x 2**1 = 2
- 0 : 0 x 2**0 = 0
十进制的总和是 10。这样你就可以将任何东西(八进制、十六进制)转换为十进制。
问题
有没有类似的一般逻辑,我可以用来在八进制、十六进制和二进制之间进行转换?
希望以上内容清楚。否则请告诉我。
【问题讨论】: