base-b的意思究竟是什么?

时间:2016-08-29 12:05:31

标签: math hex decimal computer-science

我知道如何从基数b转换为十进制但我不明白什么是base-b。我知道如果我们要转换为bas 10然后乘以那么是base-b(base 5)我们将基数乘以数字?

1 个答案:

答案 0 :(得分:2)

为了遵循这一点,我们应该理解数字与其表示之间的区别。让我们从(自然)数字开始。有两个特殊数字:零和一。零是加法的中性元素(即你可以在不改变的情况下将零加零),其中一个是乘法的中性元素。这两个数字可以诱导每个其他数字。从零开始。然后,再添加一个。

数字的常见表示是十进制系统。但是,这纯粹是任意的,也可以使用任何其他系统。十二号中没有任何东西可以要求我们把它写成12.好的是所有算术规则都是在数字本身上定义的,而不是在它们的表示上。五加六将永远是十一。不管你怎么代表他们。您可能已经注意到,当我谈论数字时,我会使用数字,如果我谈论表示,我会使用任何其他表示。

好的,我们有我们的号码。现在我们需要一种方法来代表它们。想象一下,我们有三个符号abc。我们可以将前三个数字分配给他们

a (zero)
b (one)
c (two)

但是我们没有符号。如您所知,位置数字系统通过引入另一个位置来解决这个问题。然后,就像以前一样继续。按顺序分配下几个数字

ba (three)
bb (four)
bc (five)
ca (six)
cb (seven)
cc (eight)

您可能希望继续第三个职位:

baa (nine)
bab (ten)
bac (eleven)
...

这个系统的基础是三个(或ba),因为我们有三个符号。我们可以观察到第二个位置的数字代表三个的倍数(b.代表three + .c.代表two times three + . ...)表达在基础ba中,这是:b. = b * ba + .c. = c * ba + .。这继续到所有位置,您可以概括出由数字dn ... d1 d0组成的数字可以用众所周知的公式表示:

n = Sum(i) di * base^i

这个公式背后的直觉是,base个数字带有一个数字,base^2数字带有两个数字,依此类推。并且di * base^i术语会跳过前几个(第一个数字与第一个数字匹配,然后是第二个数字等等)。

我们可以在bac应该是11的例子中查看这个:

n = b * ba^c + a * ba^a + c * ba^a
  = one * three^two + zero * three^one + two * three^zero
  = nine + zero + two
  = eleven
  = bac

请记住,算术规则适用于数字而不适用于表示?因此,既然我们知道了数字的定义(上面公式中的第二行),我们可以使用任何其他数字表示。例如,十进制的:

 n = one * three^two + zero * three^one + two * three^zero
   = 1 * 3^2 + 0*3^1 + 2*3^0
   = 9 + 0 + 2
   = 11 (decimal)

但我们也可以使用其他基地,例如基-8:

 n = one * three^two + zero * three^one + two * three^zero
   = 1 * 3^2 + 0*3^1 + 2*3^0
   = 11 + 0 + 2
   = 13 (octal)

基本上,这些系统通过将数字序列系统地分配给后续数字而自然而然地产生。转换非常简单,因为位置方程适用于数字,而不适用于表示。

我希望这个答案不是太抽象并帮助你。