Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции по проге / Sistemy_schislenija (1)

.pdf
Скачиваний:
30
Добавлен:
14.03.2016
Размер:
120.94 Кб
Скачать

121

АРИФМЕТИЧЕСКИЕ ОСНОВЫ КОМПЬЮТЕРОВ

Понятие системы счисления

Система счисления – это способ записи чисел с помощью заданного набора специальных знаков (цифр).

Существуют позиционные и непозиционные системы счисления.

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

Впозиционных системах счисления вес каждой цифры изменяется в зависимости от ее положения (позиции) в последовательности цифр, изображающих число. Например, в числе 757.7 первая семерка означает 7 сотен, вторая – 7 единиц, а тре-

тья – 7 десятых долей единицы.

Сама же запись числа 757.710 означает сокращенную запись выражения

700 + 50 + 7 + 0.7 = 7•102 + 5•101 + 7•100 + 7•10-1 = 757.7

Любая позиционная система счисления характеризуется своим основанием. Основание позиционной системы счисления — это количество различных знаков

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

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

an-1 qn-1 + an-2 qn-2+ ... + a1 q1 + a0 q0 + a-1 q-1 + ... + a-m q-m,

где ai – цифры системы счисления; n и m – число целых и дробных разрядов, соответственно.

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

Двоичная система счисления имеет основание 2, и, следовательно, две разные цифры - 0 и 1; восьмеричная – восемь цифр – 0, 1, 2, 3, 4, 5, 6, 7, шестнадцатеричная – шестнадцать цифр – десять арабских цифр от 0 до 9 и еще шесть символов – А (10), В (11), С (12), D (13), E (14), F (15).

122

10

2

Система счисления

 

16

 

 

 

 

8

0

0

 

0

 

 

 

0

 

 

1

 

 

1

1

1

 

1

 

2

 

 

0

2

 

2

 

3

 

1

1

1

3

 

3

 

4

 

0

0

4

 

4

 

5

 

1

0

1

5

 

5

 

6

 

1

1

0

6

 

6

 

7

1

1

1

1

7

 

7

 

8

0

0

0

1 0

 

8

 

9

1

0

0

1

1 1

 

9

 

10

1

0

1

0

1 2

 

A

 

11

1

0

1

1

1 3

 

B

 

12

1

1

0

0

1 4

 

C

 

13

1

1

0

1

1 5

 

D

 

14

1

1

1

0

1 6

 

E

 

15

1

1

1

1

1 7

1

F

 

16

1 0

0

0

0

2 0

0

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

Правила перевода целых и дробных чисел не совпадают, поэтому приведем три правила перевода чисел из системы счисления с основанием R в систему счисления с основанием Q.

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

Для перевода целого числа N, представленного в системе счисления с основанием R, в систему счисления с основанием Q необходимо данное число делить на основание Q по правилам системы счисления с основанием R до получения целого остатка, меньшего Q. Полученное частное снова необходимо делить на основание Q до получения нового целого остатка, меньшего Q, и т.д., до тех пор, пока последнее частное будет меньше Q. Число N в системе счисления с основанием Q представится в виде не упорядоченной последовательности остатков деления в порядке, обратном их получению (иными словами, старшую цифру числа N дает последнее частное).

Преобразуем десятичное число 67 в двоичную форму. Основание исходной системы счисления R=10. Основание новой системы счисления Q=2. Согласно приведенному правилу надо исходное число 67 делить на основание новой системы (на 2) по правилам десятичной системы счисления (исходная система счисления).

123

67 1 При делении 67 на 2 получается частное 33 и остаток 1 и т.д.

33 1

16 0

8 0

4 0

2 0

1 1

0

Числа записываются в обратном порядке: число 6710 в новой системе счисления равно 10000112.

Правило 2. Перевод правильной дроби.

Перевод правильной дроби, представленной в системе счисления с основанием R, в систему счисления с основанием Q заключается в последовательном умножении этой дроби на основание Q по правилам системы счисления с основанием R, причем перемножают только дробные части. Дробь N в системе счисления с основанием Q представляется в виде упорядоченной последовательности целых частей произведений в порядке их получения. (Иными словами, старший разряд является первой цифрой произведения). Количество последовательных произведений определяет количество цифр в полученном числе.

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

Переведём в двоичную систему счисления десятичную дробь 0,7243. Основание исходной системы счисления R=10. Основание новой системы счисления Q=2. Согласно приведенного правила исходное число 0,7243 надо умножать на основание новой системы (на 2) по правилам десятичной системы счисления (исходная система счисления). Выполним серию умножений до получения, например, шести цифр в двоичном числе:

124

Искомые цифры

дроби:

 

 

0,7243

* 2

= 1,4486

1

- Старшая цифра.

0,4486

* 2

= 0,8972

0

 

0,8942

* 2

= 1,7944

1

 

0,7944

* 2

= 1,5888

1

 

0,5888

* 2

= 1,1776

1

 

0,1776

* 2

= 0,3552

0

 

0,3552

* 2

= 0,7104

0

 

Искомое представление число 0,7243 в двоичной системе счисления = 0,101110.

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

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

Примеры.

 

 

 

 

Десятичная

дробь

0.2

представляется бесконечной

дробью

0.33333... в шестнадцатеричной системе счисления (основания

систем

счисления 10 и 16).

 

 

 

 

Шестнадцатеричная дробь 0.В1 представляется конечной дробью 0.10110001 в двоичной системе счисления (основания систем счисления 16 и 2).

Правило 3. Перевод неправильной дроби:

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

67.724310 = 1000011.1011102

125

Быстрый перевод чисел из одной системы счисления с основанием кратным 2 в систему счисления с основанием 2

Люди предпочитают десятичную систему, вероятно, потому, что с древних времен считали по пальцам, а пальцев у людей по десять на руках и ногах. Не всегда и не везде люди пользуются десятичной системой счисления. В Китае, например, долгое время пользовались пятеричной системой счисления.

А компьютеры используют двоичную систему потому, что она имеет ряд преимуществ перед другими системами:

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

сдесятью, — как в десятичной;

2)представление информации посредством только двух состояний надежно и помехоустойчиво;

3)возможно применение аппарата булевой алгебры для выполнения логических преобразований информации;

4)двоичная арифметика намного проще десятичной.

Недостаток двоичной системы — быстрый рост числа разрядов, необходимых для записи чисел.

Почему в компьютерах используются также восьмеричная и шестнадцатеричная системы счисления?

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

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

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

Перевод восьмеричных и шестнадцатеричных чисел в двоичную систему очень прост: достаточно каждую цифру заменить эквивалентной ей двоичной триадой (тройкой цифр) или тетрадой (четверкой цифр).

126

Например:

Преобразуем восьмеричное число 371.62, т.к. 3 = 011; 7 = 111; 1 = 001; 6 = 110; 2 = 010, то 371.62 = 011 111 001 . 110 010, или 371.62 =

11111001.11001 (отбрасываем нули слева и справа).

Преобразуем шестнадцатеричное число 6C.7D в двоичную форму. Для этого запишем для каждой цифры соответствующую тетраду:6 = 0110; C = 1100; 7 = 0111; D = 1101.

6C.7D = 01101100.01111101 = 1101100.01111101 (отбрасываем нули слева и справа).

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

Например:

Представим двоичное число 1101100.01111101 в форме восьмеричного числа. Дополним до трех цифр нулями самую левую группу слева и самую правую группу справа:

001 101 100 . 011 111 010 Заменим каждую триаду соответствующей восьмеричной цифрой:

001 101 100 . 011 111 100 = 154.372

Представим двоичное число 1101100.01111101 в форме шестнадцатеричного числа. Разобьем исходное число на группы по четыре цифры, приняв в качестве точки отсчета местоположение запятой, и дополним до четырех цифр нулями слева самую левую группу: 0110 1100 . 0111 1101. Заменим каждую тетраду соответствующей шестнадцатеричной цифрой: 0110 1100 . 0111 1101 = 6С.7D.

Сложение, вычитание, умножение, деление в разных системах счисления

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

127

Например:

 

 

 

510 + 610 = 1110

 

 

Выполним

то же сложение в двоичной системе счисления

 

 

1

0

1

 

+

1

1

0

 

 

1

10

01

01

 

То есть

 

 

 

 

1012 + 1102

= 10102

= 1110

Соседние файлы в папке Лекции по проге