2017-02-22 114 views
1

Я прикрепил страницу учебника, в которой объясняется, как рассчитать минимальные необходимые цифры, необходимые при преобразовании из десятичной в двоичную. Объяснение учебника и реализация формулы не имеют для меня никакого смысла.Просьба пояснить, как рассчитать минимальные и максимальные цифры, необходимые для преобразования (см. Пример этого учебника)

enter image description here

Есть опечатка или что-то? Или я неправильно его понимаю?


Объяснение гласит, что максимальное значение системы номерного номера всегда будет больше или равно той, которая указана в исходной системе назначения. Я не согласен с этим или понимаю это - может кто-нибудь, пожалуйста, объясните это мне. Пожалуйста.

Я согласен с пониманием того, что максимальное количество х цифр в цифровой системе с базой b равно (b x - 1), так как это может быть доказано.

В десятичной системе, с 1 цифрой, максимальное значение может быть вычислено следующим образом: (б х - 1) => (10 - 1) = 9; что верно, потому что доступные цифры составляют 0,1,2,3,4,5,6,7,8,9, а множитель составляет 10 (что равно 1).

В двоичной системе, с 1 цифрой, максимальное значение может быть вычислено следующим образом: (б х - 1) => (2 - 1) = 1; что верно, потому что доступные цифры равны 0,1, а множитель равен 2 (что равно 1).

Этот метод доказан для всех систем с позиционным номером.

Но тогда Forouzan говорит "Поэтому (б х - 1) ≥ (б к - 1)", где (б к - 1) представляет собой источник и (b x - 1) представляет систему назначения. Я не понимаю этого вывода ... потому что преобразование из десятичного в двоичный; двоичная система - это целевая система, а десятичная система - исходная, и мы только что доказали, что с 1 цифрой исходная система (десятичная) имеет большее значение, чем система назначения (двоичная):

9> 1; 1 не может быть больше 9 ...

Что мне здесь не хватает? Как можно "(б х - 1) ≥ (б к - 1)" всегда быть правдой?


Кроме того, в данном примере они затем использовать формулу как х = & # x2308; 6 * (Log 10/войти 2) & # x2309; но 10 - наша десятичная база, а 2 - наша двоичная база - почему они теперь внезапно множители?Не должно быть «log другого номера» и «log какого-либо другого номера»?

+0

Десятичная система имеет десять доступных цифры и двоичная система имеет два –

+0

Я знаю ... Я говорю, что в вопросе :( – einScotchFitch

+0

я думаю, что я читал «В десятичной системе с 1 цифрой». Может быть, я неправильно истолковал это? Предполагаете ли вы, что '2' в базе 10 не нуждается в большем количестве цифр в двоичном формате, как' 10'? –

ответ

3

Это действительно неверно сформулировано в исходном тексте.

Это говорит, что если у вас есть номер в базе b1 (такие, как 10), а также ряд цифр k в этой базе, (например, 1), то вы можете представить b1^k элементов (например, 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9), и наибольший такой элемент будет b1^k-1 (т. Е. 9).

Чтобы узнать, сколько цифр x в другой базе b2, вам нужно найти x со свойством b2^x-1 >= b1^k-1. b1, b2 и k фиксированы, x является неизвестным, и вы можете найти его с этой формулой: x = ceiling(k * log [base b2] (b1)) (., Такие как 4 = ceiling(1 * log [base 2] (10)), то есть, вам нужно 4 двоичных разрядов для представления чисел, представимых с одной десятичной цифрой)

В нашем примере b1 = 10, b2 = 2, k = 1 и x = 4, мы можем видеть, что b1^k-1 = 9 и b2^x-1 = 15 и 15 >= 9 являются истинным утверждением.

(log d/log f это еще один способ написания log [base f] (d))

+0

Большое спасибо :) - Не могли бы вы также объяснить, почему журналы в этом случае используют базы как множители. Потому что, насколько я понимаю, x = log (base) * y , поэтому в 2^4 => 4 = log (base 2) * y? и в 10^1 => 1 = log (основание 10) * y? Потому что у нас есть основания 10 и 2 ?? – einScotchFitch

+0

@einScotchFitch: Я не уверен, что понимаю ваш вопрос. Вы спрашиваете, почему мы используем уравнение 'x = k * log [base b2] (b1)' вместо 'x = log [base b2] (b1^k)'? Если это ваш вопрос, тогда ответ возникает из-за свойства логарифмов, которое является «log (a^b) = b * log (a)» для любой базы журналов. Если бы это был не ваш вопрос, тогда вы могли бы быть более конкретным? – Welbog

+0

Я имею в виду, что для экспоненциального уравнения формула: ** b^x = y **, где b - база (может быть 10, может быть e, может быть 2 или что-то в зависимости от ситуации).Поэтому для обратного (или логарифма) формула: ** log (в базе b) y = x ** вправо? – einScotchFitch

1

Когда он говорит «Поэтому (б х - 1) ≥ (б к - 1)» это означает, что что адресат пространство чисел должно быть по крайней мере такого же размера, как источника. (Чтобы удержать их все.)

Во второй части вашего вопроса под строкой, я думаю, вы, возможно, читаете вывод неправильно. При разделении бревен они имеют одну и ту же базу. Они не являются журналами с разными базами, как вы писали. Это просто log(b1)/log(b2). Это соотношение следует из приведенной выше строки.

См. List of log identities #changing the base и this page about number of digits needed.

+0

Тогда зачем использовать формулу (b^k -1) или (b^x -1)? Они вычисляют максимальное значение, а не максимальное пространство - так зачем использовать их в формуле? Мне очень жаль, что я не понимаю :( – einScotchFitch

+0

Это максимальные представляемые числа в системах назначения и источника соответственно, поэтому они представляют собой все пространство каждой системы. –

+0

Но база 10 (для десятичной системы) - мощность 1 (например) минус 1 равна 9, а не 1. (10^1 - 1) = 9. Не 1? Таким образом, самое высокое значение, которое вы можете получить, если есть 1 место, равно 9, поскольку наивысшая цифра в десятичном значении равна 9, а в пробе 1 множитель равен 10^0. So => (10^1 - 1) = 9, а не 1. , но представление 9 имеет максимальные пространства 1 ...? в десятичном значении числа 0,1,2,3,4,5,6,7,8 и 9 все нужно только 1 пробел, правильно? – einScotchFitch