Часть полного текста документа: - 1 - 2О Г Л А В Л Е Н И Е 1. Введение 2. Постановка задачи 3. Теоретическая основа решения задачи 4. Методологический подход 5. Алгоритм программы для перевода из одной системы исчисления в другую 6. Текст программы с комментариями 7. Подробные разъяснения по программе 8. Как пользоваться программой - 2 - 2I. В В Е Д Е Н И Е Проблема перевода из одной системы исчисления в дру- гую очень часто встречается при программировании. Осо- бенно часто появляется такая проблема при программиро- вании на Ассемблере. Например при определении адреса ячейки памяти, для получения двоичного или шестнадцати- ричного эквивалентов десятеричного числа. Иногда встает проблема увеличения скорости вычислений, и тогда прихо- дит на помощь двоичная система исчисления. В этой системе исчисления очень быстро производить операцию умножения путем сдвига одного из операндов в двоичном виде влево на такое число позиций в которой стоит еди- ница во втором операнде. Рассмотрим подробнее как это осуществляется. Пусть нам надо умножить число 1101 на 101 (оба числа в двоич- ной системе исчисления). Машина делает это следующим образом: она берет число 1101, и если первый элемент второго множителя равен 1 то она заносит его в сумму. Затем сдвигает число 1101 влево на одну позицию, полу- чая тем самым 11010 и если второй элемент второго мно- жителя равен единице то тоже заносит его в сумму. Если элемент второго множителя равен нулю то сумма не изме- няется. В связи с этим, если второй множитель содержит много нулей, то операция умножения выполняется довольно - 3 - долго, т.к. машина проверяет каждую цифру второго мно- жителя, в том числе и нули. Если же самому делать опе- рацию умножения то нули можно пропустить и тогда умно- жение сделается быстрее. Что касается применения шестнадцатиричной системы исчисления то здесь тоже большие возможности. Во-пер- вых, некоторые стандартные процедуры Паскаля и Си тре- буют задачи параметров в шестнадцатиричной системе, а во-вторых, такая система исчисления очень удобна для хранения информации, т.к. число в шестнадцатиричном ви- де занимает меньше объема диска чем тоже число в деся- теричном, а тем более в двоичном виде. Таким образом мы убедились, что проблема перевода из двоичной системы исчисления в десятеричную, из шестнад- цатиричной в десятеричную и обратно очень актуальна. 2II. ПОСТАНОВКА ЗАДАЧИ Из введения стало понятно, что наиболее часто встре- чающиеся системы исчисления это двоичная, шестнадцати- ричная и десятеричная. Иногда встречается и восьмирич- ная система исчисления, но это бывает так редко, что не стоит на этом останавливаться. Итак, наша задача осу- ществить перевод из двоичной системы исчисления в деся- теричную и шестнадцатиричную, из десятеричной в двоич- ную и шестнадцатиричную и из шестнадцатиричной в двоич- ную и десятеричную, т.е. взаимно связать все эти три системы исчисления. - 4 - 2III. ТЕОРЕТИЧЕСКАЯ ОСНОВА РЕШЕНИЯ ЗАДАЧИ Как же на практике осуществляется перевод из одной системы исчисления в другую? Попробуем разобраться. Допустим нам нужно перевести число 567 десятеричной системы в двоичную систему. ............ |