- •Контрольная работа по дисциплине
- •Информация и данные.
- •Системы счисления и перевод чисел из одной системы представления в другую.
- •Позиционные системы счисления.
- •Перевод чисел из одной системы представления в другую.
- •. Перевод смешанного числа (целого и дробного) из десятичного счисления в другое счисление.
- •Форматы чисел.
- •3.1. Естественная форма числа или представление чисел в формате с фиксированной запятой (точкой).
- •Нормальная форма числа или представление чисел в формате с плавающей запятой (точкой).
- •Машинные коды чисел.
- •Арифметические действия над машинными кодами.
- •Логические основы построения компьютера.
-
Перевод чисел из одной системы представления в другую.
Перевод чисел в десятичную систему счисления с помощью степенного ряда.
Задача.
А1 = 100100.10012, А2 = 234.58, А3 = АВС.Е16
А1 = 100100.10012 = 25 +22 +2-1 +2-4 = 36 + 36.562510;
Решение:
А2 = 234.58 = 2х82 + 3х81 + 4х80 + 5х8-1 = 156 + 5/8 = 156.62510
А3 = АВС.Е16 =10х162 + 11х161 + 12х160 + 14х16-1 = 2748 + 16/16 = 2748.87510
.
Для того, чтобы из восьмеричного счисления перевести число в двоичный код, необходимо каждую цифру этого числа представить триадой двоичных символов. Лишние нули в старших разрядах отбрасываются.
Задача.
Решение:
1234.7778 = 1 010 011 100.111 111 1112
12345678 = 1 010 011 100 101 110 1112
123456.0078 = 1 010 011 100 101 110.000 000 1112
Обратный перевод производиться следующим образом: каждая триада двоичных цифр заменяется восьмеричной цифрой. Для правильного перевода двоичные символы должны быть сгруппированы по три, начиная с младших разрядов. Если триада старших разрядах получается неполной, то ее выравнивают путем добавления нулей.
Задача.
Решение:
Перевод из двоичной в восьмеричную систему счисления производится следующим образом: каждая триада двоичных цифр заменяется восьмеричной цифрой. Для правильного перевода двоичные символы должны быть сгруппированы по три, начиная с младших разрядов. Если триада старших разрядов получается неполной, то её выравнивают путем добавления нулей.
11001112 = 001 100 1112 = 1478
11.10012 = 011.100 1002 = 3.448
110.01112 = 110.011 1002 = 6.348
При переводах между двоичным и шестнадцатеричным счислениями используется группировка двоичных чисел по четверкам. При необходимости производится выравнивание группировки посредством добавления нулей.
Задача.
Решение:
1234.АВ7716 = 0001 0010 0011 0100.1010 1011 0111 01112;
СЕ456716 = 1100 1110 0100 0101 0110 01112
0.1234 АА16 = 0.0001 0010 0011 0100 1010 10102
11001112 = 0011.10012 = 6716;
11.10012 = 0011.10012=3.916
110.01110012 = 0110.0111 00102 = 6.3216
При переходе из восьмеричного счисления в шестнадцатеричное счисление и обратно используется как вспомогательный двоичный код числа.
Задача.
Решение:
12345678=001 010 011 100 101 110 1112=0101 0011 1001 0111 01112= =5397716;
0.120348 = 0.001 010 000 011 1002 = 0.0010 1000 0011 10002 = 0.283816
120.348 = 001 010 000.011 1002 = 0101 0000.01112 = 50.716
1234.АВ7716 = 0001 0010 0011 0100.1010 1011 0111 01112 =
=001 001 000 110 100.101 010 110 111 011 1002 = 11064.5267348
СЕ456716 = 1100 1110 0100 0101 0110 01112 =
=110 011 100 100 010 101 100 1112 = 634425478
0.1234АА = 010 010 101 0102 = 0.044322528.
-
. Перевод смешанного числа (целого и дробного) из десятичного счисления в другое счисление.
Метод деления.
Представление десятичного числа в других системах счисления может проводиться по схеме Горнера. Допустим, что у нас есть целое число D, представленное с помощью основания системы счисления b, т.е. Dn. Процесс представления выполняется в несколько этапов по следующим правилам:
-
Последовательно делить заданное число и получаемые целые части на новое основание счисления до тех пор, пока целая часть не станет меньше основания нового счисления.
-
Полученные остатки от деления, представленные символами нового счисления, записать в виде числа, начиная с последней целой части.
Следовательно, на 1 этапе Dn =, где - целая часть от деления, а0 – остаток. Этот остаток является первым младшим разрядом в новой системе счисления. На втором этапе деления получаем выражение вида
= и т.д.
Задача.
Представить по схеме Горнера десятичное число D10 = 147 в двоичном коде D2 = 10010011, в восьмеричном коде D8 =223, в шестнадцатеричном коде D16 = 93.
Проверить полученные результаты на инженерном калькуляторе.
Рассмотрим преобразование десятичных чисел в двоичные, восьмеричные или шестнадцатеричные на основе процедуры схемы Горнера, представленной в виде таблицы:
Десятичное число D10 |
Двоичное число D2 |
Вес разряда |
13 : 2 = 6 с остатком 1 |
1 |
1 |
6 : 2 = 3 с остатком 0 |
0 |
2 |
3 : 2 = 1 с остатком 1 |
1 |
4 |
1 : 2 = 0 с остатком 1 |
1 |
8 |
Десятичное число D10 |
Двоичное число D2 |
Вес разряда |
37 : 2 = 18 с остатком 1 |
1 |
1 |
18 : 2 = 9 с остатком 0 |
0 |
2 |
9 : 2 = 4 с остатком 1 |
1 |
4 |
4 : 2 = 2 с остатком 0 |
0 |
8 |
2 : 2 = 1 с остатком 0 |
0 |
16 |
1 : 2 = 0 с остатком 1 |
1 |
32 |
Десятичное число D10 |
Восьмеричное число D8 |
Вес разряда |
271 : 8 = 33 с остатком 7 |
7 |
1 |
33 : 8 = 4 с остатком 1 |
1 |
8 |
4 : 8 = 0 с остатком 4 |
4 |
64 |
Десятичное число D10 |
D16 |
Вес разряда |
27154 : 16 = 1697 с остатком 2 |
2 |
1 |
1697 : 16 = 106 с остатком 1 |
1 |
16 |
106 : 16 = 6 с остатком 10 |
А |
256 |
6 : 16 = 0 с остатком 6 |
6 |
4096 |
Десятичное число D10 |
D16 |
Вес разряда |
7589 : 16 = 474 с остатком 5 |
5 |
1 |
474 : 16 = 29 с остатком 10 |
А |
16 |
29 : 16 = 1 с остатком 13 |
D |
256 |
1 : 16 = 0 с остатком 1 |
1 |
4096 |
Задача.
Самостоятельно записать процедуру перевода D10 =156 в D8 и на основе анализа процедуры преобразования чисел из одной системы счисления (D10) в другую D2, D8, D16 разработать алгоритм этой процедуры.
Решение:
Десятичное число D10 |
Двоичное число D2 |
Вес разряда |
156:2 = 78 с остатком 0 |
0 |
1 |
78:2 = 39 с остатком 0 |
0 |
2 |
39:2 = 19 с остатком 1 |
1 |
4 |
19:2 = 9 с остатком 1 |
1 |
8 |
9:2 = 4 с остатком 1 |
1 |
16 |
4:2 = 2 с остатком 0 |
0 |
32 |
2:2 = 1 с остатком 0 |
0 |
64 |
1:2 = 0 с остатком 1 |
1 |
128 |
Десятичное число D10 |
Восьмеричное число D8 |
Вес разряда |
156:8 = 19 с остатком 4 |
4 |
1 |
19:8 = 2 с остатком 3 |
3 |
8 |
2:8 = 0 остатком 2 |
2 |
64 |
Десятичное число D10 |
D16 |
Вес разряда |
156:16 = 9 с остатком 12 |
С |
1 |
9:16 = 0 с остатком 9 |
9 |
16 |
15610 = 100111008 = 2348 = 9С16
Алгоритм процедуры показан на рисунке:
Метод вычитания.
53 25 24 23 22 21 20
-32 25____ 1 1 0 1 0 1
21
-16 24____________
5____________________________
-4 22________________________________
1
-1 20_________________________________________
0
Метод умножения (Перевод дробного числа из десятичного счисления в другое счисление).
Правило: последовательно умножать данное число и получаемые дробные части произведений на основание новой системы счисления до тех пор, пока дробная часть произведения не станет равна нулю или не будет получено требуемое по условию количество разрядов; полученные целые части являются разрядами числа в новой системе и их необходимо представлять цифрами этой новой системы счисления.
Пример.
Для преобразования десятичной дроби в двоичный эквивалент используем операцию последовательного умножения на 2. Если первое произведение окажется меньше 1, то запишем в старший разряд двоичной дроби 0. Если первое произведение 1, то старшей цифрой двоичной дроби является 1. Аналогично определим вторую цифру двоичной дроби, причем на два умножается только дробная часть произведении, полученная на предыдущем шаге.
Задача.
0,6384×2=1,2768 1 0,4535×2=0,907 0
0,2768×2=0,5536 0 0,907×2=1,8140 1
0,5536×2=1,1072 1 0,8140×2=1,6280 1
0,1072×2=0,2144 0 2,6280×2=1,256 1
0,2144×2=0,042880 1,256×2=0,512 0
0,0×2=0,0 0 0,512×2=1,024 1
(0,6384)10 = (0,101000)2 0,024×2=0,048 0
0,048×2=0,096 0
0,096×2=0,182 0
(0,4535)10 = (0,011101000)2