所以我正在读一本关于二进制位如何转换成八进制数的书。 在试图解释这个概念时,他们给出了这个等式
N = S(...((d8)2 ^ 8 +(d7)2 ^ 7 +(d6)2 ^ 6)+((d5)2 ^ 5 +(d4)2 ^ 4 +(d3 )2 ^ 3)+((d2)的2 ^ 2 +(D1)2 ^ 1 + D0))
或
N = S(...((d8)2 ^ 2 +(d7)2+(d6))2 ^ 6 +((d5)2 ^ 2 +(d4)2 ^ 1 +(d3)) 2 ^ 3 +((d2)2 ^ 2 +(d1)2 ^ 1 + d0))
d表示在该位内找到的数字,例如如果最低有效位为1,那么(d0)将为1.
我理解所有这些,但他们进一步阐述括号表达式((d8)2 ^ 2 +(d7)2+(d6))是基数为8位的系数,N = S((d2)8 ^ 2 +(D1)* 8 +(D0))。
有人可以解释括号表达式是base8数字系数的含义吗?
答案 0 :(得分:2)
数字 d i 是数字的二进制数字。我们可以用二进制数字计算数字,如下所示:
n =Σ i 2 i d i = 2 0 d 0 + 2 1 d 1 + 2 2 d 2 +⋯
(这实际上是定义“二进制”的内容,如果我们添加数字为整数的条件且0≤ d i < 2 for all I 的。)
假设我们命名数字 o j 的八进制数字。我们可以从它的八进制数字计算数字,如下所示:
n =Σ j 8 j o j = 8 0 o 0 + 8 1 o 1 + 8 2 o 2 +⋯
(这是定义“八进制”的内容,如果我们添加数字为整数的条件且0≤ o j < 8表示所有 j 的。)
现在让我们回顾一下二元方程。第一步是最棘手的。我们将改变下标的使用方式,以便求和的每个项使用三个二进制数字:
n =Σ j 2 3 j + 0 d 3 j + 0 + 2 3 + 1 d 3 j + 1 + 2 3 + 2 d 3 j + 2
说服自己,这个等式计算与我给出的第一个等式相同的 n 。
我假设您知道 x a + b = x a < / sup> x b 。所以我们可以将这样的2 3 j + b 系数分开:
n =Σ j (2 3 2 0 ) d 3 j + 0 +(2 3 > 2 1 ) d 3 + 1 +(2 3 j 2 2 ) d 3 + 2
然后我们可以将2 3 j 一词分解为:
n =Σ j 2 3 (2 0 d 3 j + 0 + 2 1 d < sub> 3 + 1 + 2 2 3 + < /子>)
我假设您也知道 x ab =( x a )的 b'/ I> 。所以我们可以像这样分割2 3 j 一词:
n =Σ j (2 3 ) j (2 0 3 + 0 + 2 1 d 3 j + 1 + 2 2 d 3 j + 2 )
我们可以将2 3 简化为8:
n =Σ j 8 j (2 0 d 3 j + 0 + 2 1 d 3 + 1 + 2 2 3 + 2 子>)
将其与从八进制数字计算数字的公式进行比较,我在此重复:
n =Σ j 8 j o Ĵ子> 的
所以我们可以得出结论:
o j = 2 0 d 3 j + 0 + 2 1 d 3 + 1 + 2 2 d 3 j + 2
例如,让我们采用 j = 2:
o 2 = 2 0 d 3×2 + 0 + 2 1 d 3×2 + 1 + 2 2 3×2 + 2 = 2 0 6 + 2 1