Двоичные цифры в десятичной системе

Как вы представляете (десятичное) целое число 50 в двоичном формате? Сколько битов нужно «перевернуть», чтобы сделать заглавной букву «а» в нижнем регистре, представленную в ASC11? Как вы представляете (десятичное) целое число 50 в, о, «шестнадцатеричное», иначе известное как основание 16? Напомним, что десятичная дробь — это просто основание 10, а двоичная — просто основание 2. Сделайте вывод из этих базовых систем, как представить эту? Пожалуйста, ответьте мне на эти вопросы. ПОМОГИТЕ.


person user3737510    schedule 13.06.2014    source источник


Ответы (2)


Чтобы помочь вам:

Двоичный код состоит только из 1 и 0.
Это может помочь вам понять двоичное преобразование [таблица преобразования]

Десятичный 0-9

Шестнадцатеричный код — это 0-9, затем A-F (так что A будет представлять 10, B будет 11 и т. д. до F, равного 15)

person Null Void    schedule 13.06.2014

Преобразование из десятичного числа в другое основание

Вот несколько советов для вас относительно преобразования в двоичный файл:

  • Что такое 50 mod 2? Как насчет 25 mod 2, а затем 12 mod 2? Каковы ваши результаты, если вы продолжите это?
  • Что возвращает любое число mod 2 (всегда) в качестве результата? - 1 или 0
  • Осознаете ли вы какие-либо закономерности? - В результате вы получаете перевернутое двоичное число

Тестовый случай 50:

50 mod 2 = 0 - 6th digit
25 mod 2 = 1 - 5th digit
12 mod 2 = 0 - 4th digit
 6 mod 2 = 0 - 3rd digit
 3 mod 2 = 1 - 2nd digit
 1 mod 2 = 1 - 1st digit

Остатки объединенных и реверсивных делений: 110010, что соответствует 50 в двоичном формате.

Можно ли это также преобразовать в другие базы? - Да, как мы видим при попытке преобразовать 50 в шестнадцатеричное:

50 mod 16 = 2 - 2nd digit
 3 mod 16 = 3 - 1st digit

Остатки, снова объединенные и перевернутые, равны 32, что удобно равно 50 в шестнадцатеричном формате.

В общем, мы можем сказать, что для преобразования числа в произвольное основание вы должны взять остаток числа и основание, а затем разделить число на основание и сделать то же самое снова. В программе это будет выглядеть примерно так:

while the number is greater 0 do:
    result = (number mod base) + result;
    number = number div base;

Преобразование из любого основания в десятичное

Как преобразовать число из произвольного основания в основание 10? Сначала давайте сделаем тестовый пример с двоичным файлом. Возьмем 50 из предыдущего примера: 110010

Метод преобразования из двоичного числа заключается в умножении каждой цифры с основанием на степень ее положения в числе и сложении результата. Нумерация позиций начинается с 0 младшей значащей цифры. Тогда наш предыдущий номер будет выглядеть примерно так:

1 *2^5 + 1 *2^4 + 0 *2^3 + 0 *2^2 + 1 *2^1 + 0 *2^0

Что упрощает до:

32 + 16 + 2 = 50

Он также работает с любой другой базой, например, с нашей 32 из предыдущего примера:

3 *16^1 + 2*16^0 = 48 + 2 = 50

В программе это будет выглядеть примерно так:

from end of number to beginning do:
    result = result + digit * (base ^ position)
person ThreeFx    schedule 13.06.2014