- •Математика в компьютере Учебное пособие
- •Математика в компьютере
- •Введение
- •I.Арифметико-логические основы эвм
- •1.Понятие системы счисления Позиционные и непозиционные системы счисления
- •2.Позиционные системы счисления, используемые в эвм
- •2.1.Двоичная система счисления
- •Двоичная таблица сложения Двоичная таблица умножения
- •Пример: 1) 111 2) 1001 3) 11011
- •2.2.Шестнадцатеричная система счисления
- •Шестнадцатеричная таблица сложения
- •2.3.Смешанные системы счисления
- •3.Перевод чисел из одной системы счисления в другую
- •3.1.Перевод целых чисел
- •3.2.Перевод правильных дробей
- •4.Формы записи чисел
- •Нормализация
- •5.Системы кодирования
- •5.1.Кодирование символьной информации
- •Коды десятичных цифр (дкои)
- •Коды латинских букв (дкои)
- •Коды русских букв (дкои)
- •Коды знаков (дкои)
- •5.2.Кодирование графической информации
- •5.3.Кодирование звуковой информации
- •6.Прямой, обратный и дополнительный коды
- •7.Представление информации в памяти эвм
- •8.Логические основы эвм
- •II.Набор заданий
- •III.Примеры с ответами
- •IV.Самостоятельная работа
- •V.Самоконтроль
- •VI.Алгебра логики
- •VII.Индивидуальное
- •Методика выполнения индивидуального задания
- •Сконструировать число
- •Литература
- •Содержание
3.Перевод чисел из одной системы счисления в другую
3.1.Перевод целых чисел
В связи с использованием в ЭВМ различных систем счисления, возникает необходимость перевода чисел из одной системы счисления в другую. Существует несколько правил перевода чисел.
Чтобы вывести правило перевода целых чисел, воспользуемся тем очевидным фактом, что, если числа А и q есть целые положительные, то всегда существует единственное (неотрицательное) целое число r, меньшее, чем q, и единственное число S, такие, что
Например, А=5, q=3, тогда
Используем это обстоятельство для перевода целого числа с основанием р, например Ар, в его эквивалент Аq с основанием q. Другими словами, мы хотим определить неотрицательные числа а0, а1,...,аn, каждое из которых меньше, чем q так, чтобы
Аp=аn·qn+...+а1·q1+а0·q0=Аq.
Заметим, что
|← целая часть →|← дробная часть
С другой стороны, согласно выше сформулированному утверждению, для любой пары целых положительных чисел Ар и q всегда найдется единственное S0 и r0 такие, что
Поскольку и частное и остаток единственны, то, приравнивая целые и дробные части, получим:
а0=r0; S0=an·qn-1+...+а1q0,
т.е. младшая искомая цифра равна остатку от деления Ар на q. Деля S0 на q, и, используя предыдущий результат, получим:
откуда а1=r1 и т.д. до получения частного, которое меньше нового основания. Это частное и будет последней (старшей) цифрой искомого числа.
В самом деле, пусть А1=а3q3+а2q2+а1q1+а0q0, тогда
| A2 |
| A3 |
В связи с этим можно сформулировать следующее правило перевода целых чисел.
Целое число в новой системе счисления можно получить в результате последовательного деления исходного числа, а затем и частных, на новое основание системы до получения частного, которое меньше нового основания. Из этого частного и всех полученных остатков составится число в новой системе: последнее частное будет первой цифрой числа, последний остаток – второй цифрой, и т.д. Деление выполняется по правилам той системы счисления, в которой записано исходное число. Делитель (основание новой системы) записывается цифрами новой системы.
На практике иногда поступают так: на бумаге проводят справа от исходного числа вертикальную черту, под самим числом записывают получающиеся частные, а справа от черты друг под другом остатки. Тогда после окончания процесса полученное двоичное число переписывают снизу вверх, например, десятичное число 35 в двоичную систему переводится так:
3 5 1
17 1
8 0
4 0
2 0
1 1 В результате получим 3510=1000112.
Примеры:
1) Числа 118 и 78 перевести из десятичной системы счисления в двоичную:
_118 | 2 _78 | 2
118 _59 | 2 78 _39 | 2
0 58 _29 | 2 0 38 _19 | 2
1 28 _14 | 2 1 18 _9 | 2
1 14 _7 | 2 1 8 _4 | 2
0 6 _3 | 2 1 4 _2 | 2
1 2 1 0 2 1
1 0
Итак, 11810=11101102; 7810=10011102.
2) Числа 118 и 78 из десятичной системы счисления перевести в шестнадцатеричную:
_118| 16 _78 | 16
112 7 64 4
6 1410=E16
Итак, 11810=7616; 7810=4Е16.
3) Число 1110110 из двоичной системы счисления перевести в десятичную:
_1110110| 1010
1010 _1011| 1010
_10011 1010 1
1010 1
_10010
1010
10002=810
Итак, 11101102=11810, так как 12=110, а 10002=810.
4) Число 76 из шестнадцатеричной системы счисления перевести в десятичную:
_76 | А
68 _В | А
8 А 1
1
Итак, 7616=11810.