Позиционные системы счисления
Системой счисления называют способ изображения произвольного числа ограниченным набором символов, называемых цифрами. Номер позиции, определяющий вес, с которым данная цифра складывается в числе, называют разрядом, а системы счисления, обладающие отмеченным свойством, – позиционными.
В общем случае n-разрядное положительное число N в произвольной системе счисления с основанием р представляется суммой вида
(3.1)
где ak – отдельные цифры в записи числа, значения которых равны членам натурального ряда в диапазоне от 0 до (р – 1).
При выполнении вычислений цифровыми электронными устройствами используются элементы с двумя устойчивыми состояниями. По этой причине в цифровой технике широкое распространение получила позиционная двоичная система счисления (с основанием 2). В каждом двоичном разряде, получившем название бит, может стоять 1 или 0. Сама же запись числа (двоичный код) представляет собой последовательность из единиц и нулей. Чтобы отличить двоичное число от десятичного, будем дополнять его справа суффиксом В (Binaire), как это принято в специальных машинно-ориентированных языках программирования, называемых ассемблерами.
Веса соседних разрядов двоичного кода числа отличаются в два раза, а самый правый разряд (младший) имеет вес 1. Поэтому, например
101101В = 1.25 + 0.24 + 1.23 +1.22 + 0.21 + 1.20 = 45.
Четыре соседних бита называют тетрадой, группу из 8 бит называют байтом, а из 16 бит – машинным словом. Совокупность из 1024 (210) байт называют килобайтом, из 1024 килобайт – мегабайтом, из 1024 мегабайт – гигабайтом.
1 Гбайт = 210 Мбайт = 220 Кбайт = 230 байт.
Современные персональные ЭВМ могут хранить в своей памяти на жестких магнитных дисках цифровую информацию объемом в десятки гигабайт.
Арифметические операции в двоичной системе счисления исключительно просты и легко реализуются аппаратно. Однако при вводе и выводе информации в цифровое устройство она должна быть представлена в более привычной для человека десятичной системе счисления. Стремление упростить процедуру пересчета двоичных чисел к десятичному эквиваленту привело к использованию двоично-десятичного кода. В этом коде для записи отдельных цифр разрядов десятичного числа используют тетрады их двоичного кода. Например, десятичное число 9531 в двоично-десятичном коде представляется машинным словом из четырех тетрад
9531 = 1001 0101 0011 0001.
Записывать двоичные числа большой разрядности утомительно. Поэтому, как правило, они представляются более компактными записями с использованием шестнадцатеричной системы счисления. В этой системе используют первые десять членов натурального ряда от 0 до 9, а в качестве остальных цифр – первые шесть латинских букв A = 10, B = 11, C = 12, D = 13, E = 14, F = 15. Справа шестнадцатеричное число будем дополнять суффиксом Н (Hexadecima).
Таблица 3.1 – Соответствие чисел различных систем счисления
Десятичное число |
Шестнадцатеричное число |
Двоичное число |
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
0 1 2 3 4 5 6 7 8 9 A B C D E F |
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 |
Перевод двоичного числа в число системы с основанием 16 и наоборот не вызывает затруднений. Для этого исходное двоичное число справа налево разбивается на тетрады, а затем содержимое каждой из них рассматривается как двоичный код соответствующей цифры шестнадцатеричной системы. Для обратного перехода каждую цифру шестнадцатеричного числа заменяют тетрадой двоичного кода, например: N = 8B5FH = 1000 1011 0101 1111 B.
Для перевода десятичного числа в двоичное удобно методом деления предварительно преобразовать его в шестнадцатеричное. Искомое число запишется в виде остатков от деления, начиная с последнего, например:
215 16
16 13 215 = D7H = 1101 0111 В.
55
48
7
С помощью байта данных можно представить различную информацию:
– целое число без знака (от 0 до 255);
– число от 0 до 99 в двоично-десятичном коде;
– машинный код команд микропроцессора;
– состояние восьми датчиков;
– двоичное число со знаком в прямом, обратном или дополнительном коде ± Х, где Х – модуль числа (от 0 до 127), для отображения которого используются семь младших разрядов. Восьмой разряд – знаковый (0 – для положительных чисел, 1 – для отрицательных).
|
Прямой, обратный и дополнительный коды положительных чисел совпадают. Для получения дополнительного кода отрицательного числа можно проинвертировать код положительного числа и прибавить единицу. Преобразование дополнительного кода числа в прямой осуществляется по тому же правилу, что прямого в дополнительный.