Легкий перевод десятичного числа в двоичную систему счисления
Если значение десятичного числа близко к любой степени двойки, то мы можем его легко перевести в двоичную систему счисления. Смотрите первый пример, когда десятичное число совпадает со значением степени двойки. Здесь же мы построим таблицу степеней, которая вам обязательно будет нужна при решении различных задач по информатике
Во втором уроке мы рассмотрим пример, когда число немного больше или меньше,
Помните, что этот способ перевода легкий, когда десятичное число расно или немного отличается от какой-то степени двойки. Если нет, то по сложности он будет практически равнозначен простому способу перевода десятичного числа в двоичную систему счисления
Полезный пример-дополнение близкий к реалиям жизни
(автор примера: Александр Андреевич Прокопенко)
«Представьте, что у вас есть денежные купюры такого достоинства: 1 руб, 2 руб, 4 руб, 8 руб, 16 руб
Вы идёте в магазин и желаете купить какой-то товар, который стоит, к примеру, 57 рублей. Все купюры необычного достоинства в вашем кошельке по одному экземпляру. Вам нужно расплатиться ими с продавцом «под расчёт»,
Нарисуем двоичную сетку с указанием сверху веса каждой ячейки (в рублях):
1024 |
512 |
256 |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
|
|
|
|
|
1 |
1 |
1 |
0 |
0 |
1 |
Итак, товар стоит 57 рублей.
Мы извлекаем из кошелька ближайшую к 57 рублям купюру,
Извлекаем из кошелька ближайшую к 25 рублям купюру,
Извлекаем из кошелька ближайшую к 9 рублям купюру,
Достаём из кошелька недостающий рубль и отдаём продавцу. Ставим в ячейке с весом 1 рубль единицу. Мы уже ничего не должны продавцу: 1−1=0.
Не понадобившиеся купюры между 32 и 1 рублём отмечаем в сетке нулями.
Всё! Двоичный код готов.
Таким образом, получаем, что 5710 = 111 0012
Кстати, этот алгоритм ребята потом используют при программировании этой задачи на Turbo Pascal или C/C++.
Получите комплекты видеоуроков + онлайн версии
Похожие записи
Комментарии 3
Чтобы добавить комментарий зарегистрируйтесь или войдите на сайт