Вычислительные машины и системы

Вычислительные машины

ЛЕКЦИЯ N 1

ОСНОВЫ МАШИННОЙ АРИФМЕТИКИ

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

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

В зависимости от способа изображения чисел с помощью цифр системы счисления делятся на «позиционные» и «непозиционные».

В «непозиционных» системах любое число определяется как некоторая функция от численных значений совокупности цифр, представляющих это число. Цифры в непозиционных системах счисления соответствуют некоторым фиксированным числам. Пример непозиционной системы — римская система счисления. В вычислительной технике непозиционные системы не применяются.

Систему счисления называют «позиционной», если одна и та же цифра может принимать различные численные значения в зависимости от номера разряда этой цифры в совокупности цифр, представляющих заданное число. Пример такой системы — арабская десятичная система счисления.

В позиционной системе счисления любое число записывается в виде последовательности цифр:

A = 7+ 0 a 4m-1 0 a 4m-2 0 … a 4k 0 … a 40 0, a 4−1 0 … a 4-l 0 (I)

Позиции, пронумерованные индексами k (-l < k < m-1) называются разрядами числа. Сумма m+l соответствует количеству разрядов числа (m — число разрядов целой части числа, l — дробной части).

Каждая цифра a 4k 0 в записываемой последовательности может принимать одно из N возможных значений. Количество различных цифр (N), используемых для изображения чисел в позиционной системе счисления, называется основанием системы счисления. Основание N указывает, во сколько раз единица k+1 -го разряда больше единицы k -го разряда, а цифра a 4k 0 соответствует количеству единиц k -го разряда, содержащихся в числе.

Таким образом, число может быть представлено в виде суммы:

(A) 4N 0 = 7+ 0(a 4m-1 0N 5m-1 0 + a 4m-2 0N 5m-2 0 +…+ a 40 0 + a 4−1 0N 5−1 0 +…+ a 4-l 0N 5-l 0) (II)

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

В двоичной системе счисления используются только две цифры: 0 и 1. Любое двоичное число может быть представлено в следующей форме:

(A) 42 0 = 7+ 0(a 4m-1 02 5m-1 0 + a 4m-2 02 5m-2 0 + … + a 40 0 + a 4−1 02 5−1 0 + … + a 4-l 02 5-l 0)

Например, двоичное число (10 101,101) 42 0 = 1*2 54 0+0*2 53 0+1*2 52 0+0*2+1+1*2 5−1 0+0*2 5−2 0+1*2 5−3 0 = (21,625) 410

В восьмеричной системе счисления для записи чисел используется восемь цифр (0,1,2,3,4,5,6,7), а в шестнадцатеричной — шестнадцать (0,1,2,3,4,5,6,7,8,9,A, B, C, D, E, F).

Таблица для перевода чисел из одной системы счисления в другую.

Двоичные числа ¦ Восьмеричные числа ¦ Десятичные числа ¦ Шестнадцатеричные числа

0,0001 ¦ 0,04 ¦ 0,0625 ¦ 0,1

0,001 ¦ 0,1 ¦ 0,125 ¦ 0,2

0,01 ¦ 0,2 ¦ 0,25 ¦ 0,4

0,1 ¦ 0,4 ¦ 0,5 ¦ 0.8

1 ¦ 1 ¦ 1 ¦ 1

10 ¦ 2 ¦ 2 ¦ 2

11 ¦ 3 ¦ 3 ¦ 3

100 ¦ 4 ¦ 4 ¦ 4

101 ¦ 5 ¦ 5 ¦ 5

110 ¦ 6 ¦ 6 ¦ 6

111 ¦ 7 ¦ 7 ¦ 7

1000 ¦ 10 ¦ 8 ¦ 8

1001 ¦ 11 ¦ 9 ¦ 9

1010 ¦ 12 ¦ 10 ¦ A

1011 ¦ 13 ¦ 11 ¦ B

1100 ¦ 14 ¦ 12 ¦ C

1101 ¦ 15 ¦ 13 ¦ D

1110 ¦ 16 ¦ 14 ¦ E

1111 ¦ 17 ¦ 15 ¦ F

10 000 ¦ 20 ¦ 16 ¦ 10

Для хранения и обработки данных в ЭВМ используется двоичная система, так как она требует наименьшего количества аппаратуры по сравнению с другими системами. Все остальные системы счисления применяются только для удобства пользователей.

В двоичной системе очень просто выполняются арифметические и логические операции над числами.

Таблица сложения:

0 + 0 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 = 10

Таблица умножения:

0 * 0 = 0

0 * 1 = 0

1 * 0 = 0

1 * 1 = 1

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

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

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

При переводе «дробной» части числа «целые» части чисел, получающихся при умножении, не участвуют в последующих умножениях. Они представляют собой цифры дробной части исходного числа в новой системе счисления, изображенные числами старой системы. Значение первой целой части является первой цифрой после запятой переведенного числа.

Пример перевода числа 30,6 из десятичной системы в двоичную:

Перевод целой части Перевод дробной части

Последовательное Остатки Целые части — Последовательное

деление разряды переведенной дроби умножение

0, 6

X

2

30 / 2 0 ------¬ -------------------

15 / 2 1 -----¬¦ ----- 1, 2

7 / 2 1 ----¬¦¦ ¦ X

3 / 2 1 ---¬¦¦¦ ¦ 2

1 / 2 1 --¬¦¦¦¦ ¦ -------------------

0 ¦¦¦¦¦ ¦---- 0, 4

¦¦¦¦¦ ¦¦ X

¦¦¦¦¦ ¦¦ 2