Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование / си++ / ЛЕКЦИИ АСУ-03 за 1й курс / II cemecTP / Лабораторные работы по информатике.doc
Скачиваний:
198
Добавлен:
10.12.2013
Размер:
562.69 Кб
Скачать

Лабораторная работа № 1.

Тема: Системы счисления

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

Основное содержание работы

Написать программу, которая выполняет перевод чисел из одной СС в другую и наоборот.

Теоретические сведения

ЭВМ работает с информацией, заданной числами, представленными в виде специальных кодов в принятой для данной ЭВМ системе счисления (СС).

СС - это совокупность приемов наименования и обозначения чисел. Существуют непозиционная (римская) и позиционные СС. В позиционных СС любое число изображается в виде последовательности цифр, количественное значение которых зависит от того, какое место (позицию) занимает каждая из них в числе. Количество различных цифр, используемых для изображения чисел в позиционной СС, называется ее основанием. Т. е., если используется k цифр, то основание СС будет k.

Число можно представить следующим образом:

an-1 an-2 . . . ai . . . a1 a0 , a-1 a-2 . . . a-m

целая часть дробная часть

n цифр m цифр

Позиции, перенумерованные таким образом, называют разрядами. Каждая из цифр может принимать одно из значений k-1>= ai >=0 . k используется для количественного значения каждого из разрядов числа.

an-1 *kn-1+ an-2 *kn-2 +. . .+ai*ki +. . .+ a1* k1 + a0 k0 + a-1 k -1+a-2 k-2+. . .+a-mk-m

Позиционные системы удобны тем, что они позволяют записывать большие числа с помощью сравнительно небольшого числа знаков. Другое преимущество - это простота выполнения арифметических операций над числами, записанными в этих системах.

В зависимости от основания СС можно выделить:

1) Десятичную СС. В ней используется 10 цифр: 0,1,2,3,4,5,6,7,8,9.

;

2) Двоичную СС. В ней используется 2 цифры: 0 и 1.

3) Восьмеричную СС. В ней используется 8 цифр: 0 ,1,2,3,4,5,6,7.

4) Шестнадцатиричную СС. В ней используется 16 цифр: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F.

Наименьшее из чисел, которое можно использовать в качестве основания СС - это число 2. Соответствующая этому основанию СС - двоичная. Удобство этой системы заключается в необычайной простоте. В ней существуют только две цифры 0 и 1. Недостаток состоит в том, что для записи даже не очень больших чисел приходится использовать много знаков.

Восьмеричная и шестнадцатеричная СС используются в вычислительной технике потому, что перевод из двоичной СС в восьмеричную и шестнадцатеричную СС проще, чем в десятичную. С помощью восьмеричной и шестнадцатеричной СС можно записать длинное число, используя меньше знаков, чем в двоичной СС.

Перевод чисел из одной сс в другую

1. Перевод целых чисел.

Чтобы перевести целое число из одной СС в другую необходимо:

1) Это число разделить на основание новой СС до получения целого частного. Полученный при этом остаток ( в том числе и 0) будет младшим разрядом числа в новой СС.

2) Полученное частное надо снова разделить на основание новой СС. Остаток этого деления будет следующим разрядом числа. Деление выполняется до тех пор, пока результатом деления не станет 0.

3) Запись полученных разрядов числа в новой СС выполняется с конца (т. е. в порядке обратном их вычислению).

Примеры.

1) 67210 перевести в восьмеричную СС.

1)672 8 2) 84 8 3) 10 8 4) 1 8

64 84 8 10 8 1 0 0

32 4 2 1

32

0

Результатом будет 12408.

2) 12710 перевести в двоичную СС.

1) 127 2 2) 63 2 3) 31 2 4) 15 2

12 63 6 31 2 15 14 7

7 3 11 1

6 2 10

1 1 1

5) 7 2 6) 3 2 7) 1 1

6 3 2 1 0 0

1 1 1

Результатом будет 11111112.

2. Перевод вещественных чисел

При переводе вещественных чисел из одной СС в другую отдельно выполняется перевод целой части числа (см. алгоритм, описанный выше), а дробная часть переводится следующим образом:

  1. Число домножается на основание новой СС. Целая часть результата и будет первым разрядом дробной части числа в новой СС.

  2. Дробная часть результата снова домножается на основание новой СС и т. д.

  3. Процесс продолжается до тех пор, пока не будет достигнута заданная точность.

Пример:

Перевод x=0.210 в двоичную СС

  1. 0.2*2=0.4=0+0.4 (0)

  2. 0.4*2=0.8=0+0.8 (0)

  3. 0.8*2=1.6=1+0.6 (1)

  4. 0.6*2=1.2=1+0.2 (1)

. . . . . . .

x=0.00112

Если основание старой и новой СС связаны соотношением p=qk (8=23 , 16=24) , то перевод из одной СС в другую упрощается. Для того, чтобы перевести число из СС с основанием p в число в СС с основанием q, необходимо каждую цифру в первом числе представить с помощью числа в СС с основанием q, причем количество разрядов должно быть равно k.

Чтобы воспользоваться этим правилом, надо знать таблицу эквивалентов.

10

2

16

0

0000

0

1

0001

1

2

0010

2

3

0011

3

4

0100

4

5

0101

5

6

0110

6

7

0111

7

8

1000

8

9

1001

9

10

1010

A

11

1011

B

12

1100

C

13

1101

D

14

1110

E

15

1111

F

Чтобы перевести число из шестнадцатеричной СС в двоичную, достаточно с помощью таблицы заменить цифры числа эквивалентные значения в двоичной СС. Например:

С9316 =1100 1001 00112

С 9 3

Аналогично выполняются и обратные преобразования.

Перевод чисел из восьмеричной СС в двоичную и обратно выполняется точно также, только используются трехразрядные последовательности для записи чисел в двоичной СС. Например

4538 = 100 101 0112

4 5 3

Это правило можно использовать и при переводе чисел из десятичной СС в двоичную. Если использовать для такого перевода восьмеричную или шестнадцатеричную СС, то сокращается количество выполняемых операций деления, а, следовательно, и количество возможных ошибок.

Например:

Перевести 15610 в двоичную СС.

1) переводим число в шестнадцатеричную СС

156 16 9 16

144 9 0 0

12 9

Получили 9С. Теперь записываем это число с помощью двоичной СС. Результат:

1001 11002

Соседние файлы в папке II cemecTP