Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика. Контрольная.doc
Скачиваний:
37
Добавлен:
22.06.2014
Размер:
421.38 Кб
Скачать
  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.

    1. . Перевод смешанного числа (целого и дробного) из десятичного счисления в другое счисление.

Метод деления.

Представление десятичного числа в других системах счисления может проводиться по схеме Горнера. Допустим, что у нас есть целое число D, представленное с помощью основания системы счисления b, т.е. Dn. Процесс представления выполняется в несколько этапов по следующим правилам:

  1. Последовательно делить заданное число и получаемые целые части на новое основание счисления до тех пор, пока целая часть не станет меньше основания нового счисления.

  2. Полученные остатки от деления, представленные символами нового счисления, записать в виде числа, начиная с последней целой части.

Следовательно, на 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,042880 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