Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛЕКЦИИ ПО ИНФОРМАТИКЕ.doc
Скачиваний:
38
Добавлен:
02.04.2015
Размер:
398.85 Кб
Скачать

Выполнение деления

Операция выполняется по аналогии с операцией умножения, при этом деление сводится к совокупности последовательных вычитаний со сдвигом вправо. Если деление на цело невозможно, то результат есть приближенная величина, причем степень приближения (количество знаков после запятой) зависит от пользователя в соответствии с условиями задачи.

Лекция №9 перевод чисел из одной системы счисления в другую

Человечество в процессе своего развития использовало различные позиционные системы счисления: пятеричную, десятичную, двенадцатиричную. Создание вычислительной техники привело к необходимости использования систем счисления кратных 2n: двоичной, восьмеричной, шестнадцатиричной., поэтому возникла необходимость в создании правил перехода чисел из любой позиционной системы в любую другую. В принципе, разработаны различные методики преобразования. Объединим их в 2 подгруппы:

  • универсальная;

  • частные случаи.

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

  • общий;

  • для целых чисел;

  • для правильных дробей.

Общая методика:

  • представить Р-ичное число двумя операндами, т.е. в виде целой и дробной части (правильной дроби);

  • произвести перевод каждого из операндов в новую Q-ичную систему по конкретным правилам;

  • сформировать представление числа в новой Q-ичной системе, записав через разделитель полученное изображение целой и дробной части.

Методика преобразования целых чисел (целочисленного операнда):

  • разделить на цело Р-ичное число на основание новой Q-ичной системы, записанное в Р-ичном изображении, результат деления: целое число (частное) и остаток;

  • зафиксировать остаток и представить его цифрой новой системы;

  • проанализировать частное, если оно больше или равно основания системы, то повторить предыдущие пункты, используя частное, как целое число, подлежащее переводу; если частное меньше основания системы, то деление прекратить;

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

Универсальное правило перевода правильных дробей:

  • умножить переводимую дробь на основание новой системы Q, записанное в старой Р-ичной системе;

  • зафиксировать целую часть полученного результата и представить ее цифрой новой системы; проанализировать оставшуюся дробь и если она равна нулю, то прекратить вычисление, в противном случае повторить предыдущие пункты, не переведется нацело, либо до достижения заданной точности (количества зафиксированных цифр;

  • сформулировать полученное значение в новой Q-ичной системе структуры: 0,n1n2…nm, где используются в качестве разрядов после разделителя зафиксированные цифры новой системы счисления (ni) в порядке их получения, т.е.n1– результат первого вычисления,n2– второго и т.д.

Универсальность методики компенсируется одним недостатком, т.е. неудобством для человека вычислений в любых системах, кроме десятичной. Поэтому на практике универсальным методом пользуются только для перевода чисел из системы с основанием Р=10 в Q-ичную систему с основанием. Для обратного перевода чисел из системыв системуQ=10 используют простейший частный случай с методикой:

  • представить переводимое число в виде полинома в новом десятичном изображении;

  • свернуть полученный полином.

Примеры:

  1. 47,410перевести в двоичную систему.

47,410=4710+0,410

4710210

46102310 210

1102210 1110 210

110 1010510210

110410210210

110210110

0

4710=101111

0,410

210

0,810

210

1,610

210

1,210

210

0,810

210

1,610

  1. Преобразовать 47,410в восьмеричную систему.

47,410=4710+0,410

4710810

40105104710=578

710

0,410

810

3,210

810

1,610

810

4,810

810

6,410

Анализ рассмотренных примеров позволяет сделать выводы:

  • чем меньше основание новой системы счисления, тем больше разрядов в изображении числа;

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

  • чем больше основание системы по отношению к десяти, тем менее удобно оно для человека.

Пример 3: 47,410преобразовать в шестнадцатиричную систему.

47,410=4710+0,410

47101610

32102104710=2F16

1510

0,410

1610

6,410

1610

6,410

Примеры обратных переводов чисел, т.е. из системы с в системуQ=10:

Пример 1:

Анализ полученного результата позволяет сделать вывод, что истинное значение в новой десятичной системе счисления получить не удается, результат есть приближенное уменьшенное значение, причем количество разрядов в дробной части исходного числа определяет степень погрешности результата. Чем разрядов больше, тем погрешность меньше.

Пример 2: 2F,6616преобразовать в десятичную систему.

Анализ обратных преобразований подтверждает ранее сделанные выводы о количестве цифр при изображении чисел в различных традиционных системах счисления, а также количестве действий при свертывании полиномов. Исходя из изложенного были разработаны промежуточные методы перевода чисел из десятичной системы в двоичную и наоборот, с использованием промежуточных систем счисления.

Промежуточная – система счисления, основание которой кратно 2 в целой положительной степени (n).

Следовательно, основания любой промежуточной системы вычисляются зависимостью: Р=2n, т.е. Р=4, Р=8, Р=16, Р=32 и т.д.

В настоящее время широко используются 2 промежуточные системы: восьмеричная (Р=8) и шестнадцатиричная (Р=16). Для рассмотрения методики представления чисел в промежуточных системах выполним таблицу записи чисел (целых, положительных) в некоторых из них:

10ая

8ая

5ая

2ая

16ая

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

0

1

2

3

4

5

6

7

10

11

12

13

14

15

16

17

20

0

1

2

3

4

10

11

12

13

14

20

21

22

23

24

30

31

0

1

10

11

100

101

110

111

1000

1001

1010

1011

1100

1101

1110

1111

10000

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

10

32