3

我知道 75(base8) = 61(base10),但我不能轻易找到这个公式。如何从 8 进制转换为 10 进制?

4

6 回答 6

7

0 * 8 5 + 0 * 8 4 + 0 * 8 3 + 0 * 8 2 + 7 * 8 1 + 5 * 8 0 = 61

于 2010-02-12T12:01:43.190 回答
7

要将任何基数转换为基数 10,只需执行以下操作:

对于不同基数中的每个数字,将其乘以基数和数字。例如:

75 (base 8) = 7*8^1 + 5*8^0 = 61 

适用于任何基数...二进制,十六进制,您只需这样做,它将转换为基数 10。

于 2010-02-12T12:04:35.750 回答
2

公式是 1 8 = 1 10和 10 8 = 8 10。其他一切都可以由此衍生。

如果您有一个以 8 为基数的数字序列要转换为以 10 为基数的数字,请从左到右处理它们,使您初始化的总数保持为零。对于每个数字 x,将总数设置为 8*total+x。处理完最后一位数字后,总数将为以 8 为基数的序列的以 10 为基数的值。

于 2010-02-12T12:03:10.473 回答
1

75 以 8 为底 = 5*8^0 + 7*8^1 = 5 + 56 = 61

通常,要将数字 a_1a_2a_3...a_n 从基数 k 转换为基数 10,请使用以下公式:

a_n*k^0 + a_(n-1)*k^1 + ... + a_1*k^(n-1)。

于 2010-02-12T12:03:38.013 回答
0

137461(base8) = 1 x 8^0 + 6 x 8^1 + 4 x 8^2 + 7 x 8^3 + 3 x 8^4 + 1 x 8^5

于 2010-02-12T12:04:08.467 回答
0

鉴于这是一个编程站点:

int oct_to_dec = 075;
printf("%d",oct_to_dec);
于 2010-02-12T12:07:27.373 回答