- •Системы счислений
- •1.1 Общие сведения
- •1.1.1 Краткий обзор. Основные термины и понятия
- •1.1.2 Способы записи информации в компьютерной технике.
- •1.1.3 Перевод чисел из одной системы в другую.
- •Начало алгоритма
- •Начало цикла. Пока «логическое условие выполняется», повторять
- •Конец цикла
- •Начало цикла
- •Конец алгоритма
- •Алгоритмы для перевода чисел из 2-ной системы в 8-ную и обратно.
- •Алгоритмы для перевода чисел из 2-ной системы в 16-ную и обратно.
- •1.1.4 Кодировка символов
- •1.1.5 Объем информации
- •1.2 Индивидуальные задания
- •1.3 Контрольные вопросы
1.1.3 Перевод чисел из одной системы в другую.
Для перевода чисел из одной системы в другую разработаны специальные алгоритмы. Алгоритм – это набор команд, написанных для решения поставленной задачи, и условий, определяющих порядок их выполнения. Каждая команда пишется на отдельной строке.
В данной работе рассматриваются алгоритмы переводов только целых положительных чисел.
Алгоритм перевода чисел из 2-ной системы в 10-ю
Начало алгоритма
Надписать над каждой цифрой ее порядковый номер, начиная с нуля, справа налево.
Образовать ряд слагаемых, каждое из которых представляет собой произведение цифры на основание системы, возведенное в степень, определяемую порядковым номером цифры.
Сложить полученные слагаемые.
Записать результат.
Конец алгоритма.
Пример: Переведем двоичное число 1 0 1 1 12 в десятичную систему счисления
4 3 2 1 0 надписываем над числом порядковый номер его цифр
1 0 1 1 12 образуем ряд слагаемых, как описано выше, и находим сумму 1*24+0*23+1*22+1*21+1*20 == 16+0+4+2+1=2310
Итак, 1 0 1 1 12 == 2310
Циклический алгоритм.
В алгоритмах часто встречаются команды, которые повторяются несколько раз подряд. Такое повторение описывается специальной конструкцией, которую называют циклом. Один из видов цикла имеет следующую конструкцию:
Начало цикла. Пока «логическое условие выполняется», повторять
1-я команда, которая повторяется
2-я команда, которая повторяется
- - - - - - - - - - - - - -- - - - - - - - - - - - - - - -
N-я команда, которая повторяется (обычно, изменение аргумента условия)
Конец цикла
Команды, расположенные между началом и концом цикла, повторяются столько раз, сколько раз выполняется условие повторения цикла.
Применим цикл для перевода чисел из большей системы в меньшую (например, из 10-й системы в двоичную).
Алгоритм перевода чисел из 10-ной системы в 2-ную.
Начало алгоритма
Заданное число считаем делимым.
Начало цикла
Если делимое более нуля, то выполнять (условие выполнения цикла)
Разделить делимое на основание системы методом целочисленного деления, т.е. найти частное и остаток
Считать частное новым делимым (изменение аргумента условия)
Конец цикла (возврат на начало цикла)
Переписать остатки в обратном порядке на строку результата
Конец алгоритма
Применим этот алгоритм для перевода числа из 2-й системы в десятичную: переведем число 2310 в двоичную систему.
Число 23 считаем делимым.
Условие (делимое 23>0) верно, выполняем цикл 23:2=(частное=11, ост=1). Делимое = 11
Условие (делимое 11>0) верно, выполняем цикл 11:2=(частное=5, ост=1). Делимое = 5
Условие (делимое 5>0) верно, выполняем цикл 5:2=(частное=2, ост=1). Делимое = 2
Условие (делимое 2>0) верно, выполняем цикл 2:2=(частное=1, ост=0). Делимое = 1
Условие (делимое 1>0) верно, выполняем цикл 1:2=(частное=0, ост=1). Делимое = 0
Условие (делимое 0>0) не верно, цикл не выполняется (команды цикла пропускаются).
Записываем остатки в обратном порядке в строке результата.
2310→101112
Для перевода чисел из 2-ной системы в 8-ную и обратно, а также для перевода из 2-ной системы в 16-ную и обратно существуют более простые алгоритмы.
