Смекни!
smekni.com

Теоретические основы информатики 3 (стр. 10 из 11)

Пример перевода десятичного числа 12 в двоичную систему счисления приведен на рис.1.15.


Рис.1.15. Преобразование числа 12 из десятичной системы счисления в двоичную

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

Пример перевода десятичного числа 0,25 в двоичную систему счисления приведен на рис.1.16.

В результате получаем двоичное число 01, т.е. 0,2510 = 0.012.

2. Преобразование двоичных чисел в десятичные.


Рис.1.16. Перевод числа 0,25 в двоичную систему счисления

Для преобразования двоичного числа в десятичное необходимо записать сумму членов ряда и вычислить по следующему правилу:

a1*2n-1+a2*2n-2+…+an-1*21+an*20 , an+1*2-1+an+2*2-2+… [1]

где: а – цифра двоичного числа (0 или 1),

n - количество двоичных разрядов в целой части числа.

Пример перевода двоичного числа 1010 (здесь n=4) в десятичную систему (используем первую часть выражения [1] – до запятой):

10102 = 1*23 + 0*22 + 1*21 + 0*20 = 8+0+2+0 = 1010

Пример перевода дробной части двоичного числа 0.01 в десятичную систему счисления (используем вторую часть выражения [1] – после запятой):

01 = 0*2-1 + 1*2-2 = 0 + ¼ = 0,25. Получаем 0.012 = 0,2510 .

Для перевода десятичных чисел в любую другую систему счисления используется то же правило, что и в пункте 1 данного параграфа, только последовательно необходимо делить на основание этой другой системы: в восьмеричную – на число 8, в шестнадцатеричную – на число 16. Напомним, что в восьмеричной системе для записи используются цифры от 0 до 7, а в шестнадцатеричной – цифры от 0 до 9 и буквы латинского алфавита A, B, C, D, E, F (букве А соответствует десятичное число 10, букве В – число 11 и т.д.). Так, например, одно и тоже десятичное число 91 будет представлено в различных системах счисления (двоичной, четверичной, восьмеричной, десятичной и шестнадцатеричной) следующим образом:

10110112 = 11234 = 1338 = 9110 = 5B16

Обратный перевод чисел из некоторой системы счисления в десятичную выполняется также в соответствии с правилом [1], только в выражении записывается не множитель 2, а основание данной системы счисления (из четверичной – 4, из восьмеричной – 8 и т.д.).

Для быстрого перевода чисел рекомендуется использовать таблицу 1.2 (для чисел от 0 до 15) или компьютерную программу Калькулятор (в режиме Инженерный) либо воспользоваться функциями преобразования пакета Excel.

Таблица 1.2

Десятичн. число

0

1

2

3

4

5

6

7

Двоичное число

0

1

10

11

100

101

110

111

Шестнадц. число

0

1

2

3

4

5

6

7

Продолжение таблицы 1.2

8

9

10

11

12

13

14

15

1000

1001

1010

1011

1100

1101

1110

1111

8

9

A

B

C

D

E

F

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

Пример. Преобразовать число 3С12А в двоичную систему и обратно. Записываем каждую цифру четырьмя двоичными разрядами: 0011 1100 0001 0010 1010. Отбрасываем левые незначащие нули и получаем двоичное число 111100000100101010. Обратно: отделяем справа налево по 4 разряда (левые два разряда 11 – неполная тетрада) и заменяем их цифрами шестнадцатеричной системы – 3С12А.

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

1.1.9.4. Преобразование чисел из одной системы счисления в другую с помощью ПК

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

Например, требуется преобразовать десятичное число 38 в двоичное.

Для этого в категории инженерные функции вызываем функцию ДЕС.В.ДВ:

Шаг 1:

Шаг 2:

Шаг 3, в соответствующее окно вводим число 38. Если окно разрядность не заполняется, то ПК возвращает необходимое количество разрядов двоичного числа:

Шаг 4, нажать на кнопку ОК и получить результат:

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

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

· ДЕС.В.ДВ

· ДВ.В.ДЕС

· ДЕС.В.ВОСЬМ

· ВОСЬМ.В ДЕС

· ДЕС.В .ШЕСТН

· ШЕСТН.В.ДЕС

· ДВ.В.ШЕСТН

· ШЕСТН.В.ВОСЬМ

· ВОСЬМ.В.ШЕСТН.

1.1.9.5. Машинная арифметика

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

Обозначим исходные переменные буквами a, b, результат – буквой y. Каждая из переменных в двоичной системе счисления может принимать только одно из двух возможных значений – 0 или 1. Следовательно, число значений переменной у будет равно 22 = 4. Сложение y=a+b и умножение y=a*b выполняются по правилам, указанным в таблице 1.3.

Как следует из таблицы, правила сложения (кроме последней строки) и умножения совпадают с правилами арифметики.

Таблица 1.3

Сложение

Умножение

a

b

Y

a

b

y

0

0

0

0

0

0

0

1

1

0

1

0

1

0

1

1

0

0

1

1

0 и 1 переноса в

левый старший разряд

1

1

1

Пример 1. Сложить два двоичных числа 1100 и 101. Выполним это действие по правилам арифметики, * *

используя Таблицу 1.3 и складывая 1 1 0 0

цифры поразрядно справа налево. + 1 0 1

Единицы переноса отмечены звез- -----------

дочками. Результат – число 10001, 1 0 0 0 1

равное десятичному числу 17.

Т.о. 11002+1012 = 100012 или в десятичном виде 1210+510 = 1710.

Пример 2. Умножить двоичное число 1100 на двоичное число 101.

Также записываем оба двоичных числа в столбик и по правилам арифметики умножаем множимое (1100) на каждый из разрядов множителя (101), используя таблицу 1.3.

В результате сложения трех 1 1 0 0 промежуточных результатов умножения х 1 0 1

получаем число 111100, что равно 1 1 0 0

десятичному числу 60. + 0 0 0 0

Т.о. операция умножения 1 1 0 0

превращается в последовательность 1 1 1 1 0 0

операций сдвига влево и сложения.

В результате получаем 11002 * 1012 = 1111002 или в десятичном формате 1210 * 510 = 6010 .

Сложение двоичных чисел считается самой простой операцией. Две другие арифметические операции над двоичными числами – вычитание и деление являются более сложными, состоят из значительно большего числа простых операций (преобразования, сдвига, сложения) и следовательно требуют большего времени выполнения центральным процессором.