
- •Математика в компьютере Учебное пособие
- •Математика в компьютере
- •Введение
- •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.2.Перевод правильных дробей
Теперь рассмотрим случай 0<Ар<1. Мы хотим найти неотрицательные целые числа коэффициенты а-1, а-2,..., а-m, каждый из которых меньше q, такие, что
Ар = а-1q-1 + а-2q-2 + ... + а-mq-m = Аq.
Умножая обе части равенства на q, получим:
q·Ар = а-1+ а-2q-1 +...+ а-mq-m+1 = U-1+V-1,
где U-1 есть целая часть числа q·А(р), а V-1 дробная часть числа. Отсюда U-1 =а-1,
V-1 = а-2q-1 + ... + а-mq-m+1.
Умножая обе части последнего равенства на q, получим:
q V-1 = а-2+а-3q-1+...+а-mq-m+2=U-2-V-2,
откуда U-2 = а-2; V-2 = а-3q-1 + ... + а-mq-m+2 и т.д.
Таким образом, получаем следующее правило перевода правильной дроби:
Перевод правильных дробей из одной системы счисления в другую состоит в последовательном умножении исходного числа и дробных частей, получающихся произведений на новое основание системы счисления до тех пор, пока либо не получится целое произведение, либо не получится нужное количество цифр в новой системе счисления для записи дроби. Из получающихся целых частей составится число в новой системе счисления: первая целая часть в новой системе счисления будет первой цифрой дробной части числа, вторая целая часть - второй цифрой и т.д. Умножение выполняется по правилам той системы счисления, в которой записано исходное число. Множитель (основание новой системы счисления) записывается цифрами исходной системы счисления.
На практике для перевода дробной части числа из десятичной системы в двоичную исходную дробь умножают на два. Целую часть произведения (0 или 1) принимают в качестве старшей цифры двоичной дроби. Новую дробную часть снова умножают на два, и целую часть результата берут в качестве следующей цифры искомого двоичного числа. Этот процесс в общем случае продолжается бесконечно. Он останавливается при получении достаточного количества двоичных разрядов из соображений точности либо из каких-либо иных соображений.
Если записывать последовательные произведения друг под другом и отделить чертой целую и дробную части, то слева от черты, читая сверху вниз, получим двоичный эквивалент переводимой дроби. Для примера переведем в двоичную систему десятичное число 0,35:
0
35
0 70
1 40
0 80
1 60
1 20
0 40
0 80
1 60
Поясним это: 0,35·2=0,70, следовательно, 0 первая цифра после запятой в переводимой дроби. Далее 0,70·2=1,40. Значит, следующая цифра 1. Затем 0,40·2=0,80. Следующая цифра 0 и т.д.
Выписывая цифры полученного столбца сверху вниз, получим:
0,35≈0,010110012.
Здесь стоит знак приближенного равенства, т.к. мы ограничились восемью двоичными цифрами после запятой, в то время как точный перевод в данном случае представляет собой бесконечную периодическую двоичную дробь.
Примеры:
1) Перевести числа 0,47 и 0,75 из десятичной системы счисления в двоичную (до четырех знаков после запятой):
0
,
47 0, 75
2 2
0 94 1 50
2 2
1 88 1 00
2
1 76
2
1 52
Итак, 0,4710=0,01112; 0,7510=0,112.
2) Перевести числа 0,47 и 0,75 из десятичной в шестнадцатеричную систему счисления (с точностью до двух знаков после запятой):
0
,
47 0, 75
16 16
2 82 4 50
4 7 7 5
7 52 12 00
16
3 12
5 2
8 32
Итак, 0,4710=0,7816; 0,7510=0,С16, т.к. 1210=С16.
При переводе смешанного числа выполняется отдельно перевод целой и дробной частей по соответствующим правилам, а затем к целой части приписывают дробную.
Например, при переводе числа 118,47 из десятичной системы счисления в шестнадцатеричную получим:
11810=7616, 0,4710=0,7816, значит, 118,4710=76,7816.
В некоторых случаях можно рекомендовать упрощенные способы перевода чисел из одной системы счисления в другую.
Так, при переводе из любой системы счисления в десятичную удобно пользоваться разложением числа в виде многочлена по степеням основания.
Примеры:
1) 11101102=1·26+1·25+1·24+0·23+1·22+1·21+0·20=
= 64 + 32 + 16 + 0 + 4 + 2 + 010 = 18810
2) 1011,12=1·23+0·22+1·21+1·20+1·2-1=8+0+2+0,5=11,510
3) 7616=7·161+6·160=122+6=11810
4) A5,816=A·161+5·160+8·16-1=160+5+0,5=165,510
При переводе числа из шестнадцатиричной системы счисления в двоичную каждую шестнадцатеричную цифру заменяют соответствующими четырьмя двоичными цифрами тетрадой.
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
A |
B |
C |
D |
E |
F |
0000 |
0001 |
0010 |
0011 |
0100 |
0101 |
0110 |
0111 |
1000 |
1001 |
1010 |
1011 |
1100 |
1101 |
1110 |
1111 |
Пример: CA53,78D16 = 1100101001010011,0111100011012, т.к.
C A 5 3 , 7 8 D
|
| | | | | | |
1100 1010 0101 0011,0111 1000 1101
Аналогично, FA16=1111 10102.
При переводе из двоичной системы счисления в шестнадцатиричную исходное число разбивают (вправо и влево от запятой) на четверки цифр и каждую полученную тетраду заменяют соответствующей ей цифрой в шестнадцатеричной системе.
Пример: 10010011111,11100112=49F,E616, т.к.
0100 1001 1111,1110 01102
|____|____|____|____|____|
4 9 F , E 6
Аналогично, 10 1110 0001,1010 011012=2Е1,А616.
В современных ЭВМ, кроме названных систем счисления, широко применяется двоично-десятичная система, в которой каждая десятичная цифра записывается тетрадой двоичных цифр.
Пример: десятичное число 92 в двоично-десятичной системе представится так: 1001 00102-10.
Для того чтобы осуществить обратный переход от двоично-десятичной системы к десятичной необходимо двоично-десятичное число влево и вправо от запятой разбить на четверки (тетрады), а затем каждую тетраду заменить отвечающей ей десятичной цифрой.
Пример: А=0110 1000 1001,010001112-10=689,4710.
Следует иметь в виду, что, хотя в двоично-десятичной системе и используются только нули и единицы, эта запись отличается от записи этого числа в двоичной системе.
Пример: 9210=10111002.