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

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

Система счисления — это совокупность приемов и правил, по которым числа записываются и читаются.

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

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

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

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

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 — число целых и дробных разрядов, соответственно.

Например:

Системы счисления используемые в компьютере - student2.ru

4.2. Как порождаются целые числа в позиционных системах счисления?

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

Продвижением цифры называют замену её следующей по величине.

Продвинуть цифру 1 значит заменить её на 2, продвинуть цифру 2 значит заменить её на 3 и т.д. Продвижение старшей цифры (например, цифры 9 в десятичной системе) означает замену её на 0. В двоичной системе, использующей только две цифры — 0 и 1, продвижение 0 означает замену его на 1, а продвижение 1 — замену её на 0.

Целые числа в любой системе счисления порождаются с помощью Правила счета:

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

Применяя это правило, запишем первые десять целых чисел

· в двоичной системе: 0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001;

· в троичной системе: 0, 1, 2, 10, 11, 12, 20, 21, 22, 100;

· в пятеричной системе: 0, 1, 2, 3, 4, 10, 11, 12, 13, 14;

· в восьмеричной системе: 0, 1, 2, 3, 4, 5, 6, 7, 10, 11.

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

Кроме десятичной широко используются системы с основанием, являющимся целой степенью числа 2, а именно:

· двоичная (используются цифры 0, 1);

· восьмеричная (используются цифры 0, 1, ..., 7);

· шестнадцатеричная (для первых целых чисел от нуля до девяти используются цифры 0, 1, ..., 9, а для следующих чисел — от десяти до пятнадцати — в качестве цифр используются символы A, B, C, D, E, F).

Полезно запомнить запись в этих системах счисления первых двух десятков целых чисел:

10-я 2-я 8-я 16-я
10-я 2-я 8-я 16-я
A
B
C
D
E
F

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

Немного о десятичной и двоичной системах счисления

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

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

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

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

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

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

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

Сложение

Таблицы сложения легко составить, используя Правило Счета.

Сложение в двоичной системе Системы счисления используемые в компьютере - student2.ru Сложение в восьмеричной системе Системы счисления используемые в компьютере - student2.ru

Вычитание

Пример 4.Вычтем единицу из чисел 102, 108 и 1016

Системы счисления используемые в компьютере - student2.ru

Системы счисления используемые в компьютере - student2.ru

Пример 5.Вычтем единицу из чисел 1002, 1008 и 10016.

Системы счисления используемые в компьютере - student2.ru

Системы счисления используемые в компьютере - student2.ru

Пример 6. Вычтем число 59,75 из числа 201,25.

Системы счисления используемые в компьютере - student2.ru

Системы счисления используемые в компьютере - student2.ru

Системы счисления используемые в компьютере - student2.ru

Системы счисления используемые в компьютере - student2.ru

Ответ: 201,2510 - 59,7510 = 141,510 = 10001101,12 = 215,48 = 8D,816.

Проверка. Преобразуем полученные разности к десятичному виду:

10001101,12 = 27 + 23 + 22 + 20 + 2-1 = 141,5;

215,48 = 2 . 82 + 1 . 81 + 5 . 80 + 4 . 8-1 = 141,5;

8D,816 = 8 . 161 + D . 160 + 8 . 16-1 = 141,5.

Умножение

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

Умножение в двоичной системе Системы счисления используемые в компьютере - student2.ru Умножение в восьмеричной системе Системы счисления используемые в компьютере - student2.ru

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

Пример 7. Перемножим числа 5 и 6.

Системы счисления используемые в компьютере - student2.ru

Системы счисления используемые в компьютере - student2.ru

Ответ: 5 . 6 = 3010 = 111102 = 368.

Проверка. Преобразуем полученные произведения к десятичному виду:

111102 = 24 + 23 + 22 + 21 = 30;

368 = 3 . 81 + 6 . 80 = 30.

Пример 8. Перемножим числа 115 и 51.

Системы счисления используемые в компьютере - student2.ru

Системы счисления используемые в компьютере - student2.ru

Ответ: 115 . 51 = 586510 = 10110111010012 = 133518.

Проверка. Преобразуем полученные произведения к десятичному виду:

10110111010012 = 212 + 210 + 29 + 27 + 26 + 25 + 23 + 20 = 5865;

133518 = 1 . 84 + 3 . 83 + 3 . 82 + 5 . 81 + 1 . 80 = 5865.

Деление

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

Пример 9. Разделим число 30 на число 6.

Системы счисления используемые в компьютере - student2.ru

Системы счисления используемые в компьютере - student2.ru

Ответ: 30 : 6 = 510 = 1012 = 58.

Пример 10. Разделим число 5865 на число 115.

Системы счисления используемые в компьютере - student2.ru

Системы счисления используемые в компьютере - student2.ru

Восьмеричная: 133518 :1638

Системы счисления используемые в компьютере - student2.ru

Ответ: 5865 : 115 = 5110 = 1100112 = 638.

Проверка. Преобразуем полученные частные к десятичному виду:

1100112 = 25 + 24 + 21 + 20 = 51; 638 = 6 . 81 + 3 . 80 = 51.

Пример 11.Разделим число 35 на число 14.

Системы счисления используемые в компьютере - student2.ru

Системы счисления используемые в компьютере - student2.ru

Восьмеричная: 438 : 168

Системы счисления используемые в компьютере - student2.ru

Ответ: 35 : 14 = 2,510 = 10,12 = 2,48.

Проверка. Преобразуем полученные частные к десятичному виду:

10,12 = 21 + 2 -1 = 2,5;

2,48 = 2 . 80 + 4 . 8-1 = 2,5.

Целые числа без знака

Обычно занимают в памяти компьютера один или два байта. В однобайтовом формате принимают значения от 000000002 до 111111112. В двубайтовом формате - от 00000000 000000002 до 11111111 111111112.

Примеры:

а) число 7210 = 10010002 в однобайтовом формате:

Системы счисления используемые в компьютере - student2.ru

б) это же число в двубайтовом формате:

Системы счисления используемые в компьютере - student2.ru

в) число 65535 в двубайтовом формате:

Системы счисления используемые в компьютере - student2.ru

Целые числа со знаком

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

Сложение и вычитание

В большинстве компьютеров операция вычитания не используется. Вместо нее производится сложение обратных или дополнительных кодов уменьшаемого и вычитаемого. Это позволяет существенно упростить конструкцию АЛУ.

Сложение обратных кодов. Здесь при сложении чисел А и В имеют место четыре основных и два особых случая:

1. А и В положительные. При суммировании складываются все разряды, включая разряд знака. Так как знаковые разряды положительных слагаемых равны нулю, разряд знака суммы тоже равен нулю. Например:

Системы счисления используемые в компьютере - student2.ru

Получен правильный результат.

2. А положительное, B отрицательное и по абсолютной величине больше, чем А. Например:

Системы счисления используемые в компьютере - student2.ru

Получен правильный результат в обратном коде. При переводе в прямой код биты цифровой части результата инвертируются: 1 0000111 = -710.

3. А положительное, B отрицательное и по абсолютной величине меньше, чем А. Например:

Системы счисления используемые в компьютере - student2.ru

Компьютер исправляет полученный первоначально неправильный результат (6 вместо 7) переносом единицы из знакового разряда в младший разряд суммы.

4. А и В отрицательные. Например:

Системы счисления используемые в компьютере - student2.ru

Полученный первоначально неправильный результат (обратный код числа -1110 вместо обратного кода числа -1010) компьютер исправляет переносом единицы из знакового разряда в младший разряд суммы. При переводе результата в прямой код биты цифровой части числа инвертируются: 1 0001010 = -1010.

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

5. А и В положительные, сумма А+В больше, либо равна 2n-1, где n – количество разрядов формата чисел (для однобайтового формата n=8, 2n-1 = 27 = 128). Например:

Системы счисления используемые в компьютере - student2.ru

Семи разрядов цифровой части числового формата недостаточно для размещения восьмиразрядной суммы (16210 = 101000102), поэтому старший разряд суммы оказывается в знаковом разряде. Это вызывает несовпадение знака суммы и знаков слагаемых, что является свидетельством переполнения разрядной сетки.

6. А и В отрицательные, сумма абсолютных величин А и В больше, либо равна 2n-1. Например:

Системы счисления используемые в компьютере - student2.ru

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

Сложение дополнительных кодов. Здесь также имеют место рассмотренные выше шесть случаев:

1. А и В положительные. Здесь нет отличий от случая 1, рассмотренного для обратного кода.

2. А положительное, B отрицательное и по абсолютной величине больше, чем А. Например:

Системы счисления используемые в компьютере - student2.ru

Получен правильный результат в дополнительном коде. При переводе в прямой код биты цифровой части результата инвертируются и к младшему разряду прибавляется единица: 1 0000110 + 1 = 1 0000111 = -710.

3. А положительное, B отрицательное и по абсолютной величине меньше, чем А. Например:

Системы счисления используемые в компьютере - student2.ru

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

4. А и В отрицательные. Например:

Системы счисления используемые в компьютере - student2.ru

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

Случаи переполнения для дополнительных кодов рассматриваются по аналогии со случаями 5 и 6 для обратных кодов.

Сравнение рассмотренных форм кодирования целых чисел со знаком показывает:

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

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

Умножение и деление

Во многих компьютерах умножение производится как последовательность сложений и сдвигов. Для этого в АЛУ имеется регистр, называемый накапливающим сумматором, который до начала выполнения операции содержит число ноль. В процессе выполнения операции в нем поочередно размещаются множимое и результаты промежуточных сложений, а по завершении операции — окончательный результат.

Другой регистр АЛУ, участвующий в выполнении этой операции, вначале содержит множитель. Затем по мере выполнения сложений содержащееся в нем число уменьшается, пока не достигнет нулевого значения.

Для иллюстрации умножим 1100112 на 1011012.

Системы счисления используемые в компьютере - student2.ru

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

Сложение и вычитание

При сложении и вычитании сначала производится подготовительная операция, называемая выравниванием порядков.

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

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

Пример 1. Сложить двоичные нормализованные числа 0.10111 . 2-1 и 0.11011 . 210. Разность порядков слагаемых здесь равна трем, поэтому перед сложением мантисса первого числа сдвигается на три разряда вправо:

Системы счисления используемые в компьютере - student2.ru

Пример 2. Выполнить вычитание двоичных нормализованных чисел 0.10101 . 210 и 0.11101 . 21. Разность порядков уменьшаемого и вычитаемого здесь равна единице, поэтому перед вычитанием мантисса второго числа сдвигается на один разряд вправо:

Системы счисления используемые в компьютере - student2.ru

Результат получился не нормализованным, поэтому его мантисса сдвигается влево на два разряда с соответствующим уменьшением порядка на две единицы:
0.1101 . 20.

Умножение

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

Пример 3. Выполнить умножение двоичных нормализованных чисел:

(0.11101 . 2101) . (0.1001 . 211) = (0.11101 . 0.1001) . 2(101+11) = 0.100000101 . 21000.

Деление

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

Пример 4. Выполнить деление двоичных нормализованных чисел:

0.1111 . 2100 : 0.101 . 211 = (0.1111 : 0.101) . 2(100-11) = 1.1 . 21 = 0.11 . 210.

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

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

Система счисления — это совокупность приемов и правил, по которым числа записываются и читаются.

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

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

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

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

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 — число целых и дробных разрядов, соответственно.

Например:

Системы счисления используемые в компьютере - student2.ru

4.2. Как порождаются целые числа в позиционных системах счисления?

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

Продвижением цифры называют замену её следующей по величине.

Продвинуть цифру 1 значит заменить её на 2, продвинуть цифру 2 значит заменить её на 3 и т.д. Продвижение старшей цифры (например, цифры 9 в десятичной системе) означает замену её на 0. В двоичной системе, использующей только две цифры — 0 и 1, продвижение 0 означает замену его на 1, а продвижение 1 — замену её на 0.

Целые числа в любой системе счисления порождаются с помощью Правила счета:

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

Применяя это правило, запишем первые десять целых чисел

· в двоичной системе: 0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001;

· в троичной системе: 0, 1, 2, 10, 11, 12, 20, 21, 22, 100;

· в пятеричной системе: 0, 1, 2, 3, 4, 10, 11, 12, 13, 14;

· в восьмеричной системе: 0, 1, 2, 3, 4, 5, 6, 7, 10, 11.

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

Кроме десятичной широко используются системы с основанием, являющимся целой степенью числа 2, а именно:

· двоичная (используются цифры 0, 1);

· восьмеричная (используются цифры 0, 1, ..., 7);

· шестнадцатеричная (для первых целых чисел от нуля до девяти используются цифры 0, 1, ..., 9, а для следующих чисел — от десяти до пятнадцати — в качестве цифр используются символы A, B, C, D, E, F).

Полезно запомнить запись в этих системах счисления первых двух десятков целых чисел:

10-я 2-я 8-я 16-я
10-я 2-я 8-я 16-я
A
B
C
D
E
F

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

Наши рекомендации