Представление целых чисел
Например, чтобы определить десятичное значение комбинации 1010, мы, прежде всего, отмечаем, что это значение является отрицательным, так как исходная комбинация содержит единицу в знаковом бите. Затем исходная комбинация преобразуется в комбинацию 0110, которая представляет собой двоичное число 6. Теперь можно сделать окончательно заключение, что исходная двоичная комбинация представляет число -6. Читать ещё >
Представление целых чисел (реферат, курсовая, диплом, контрольная)
Двоичный дополнительный код
На сегодняшний день наиболее распространенной системой представления целых чисел в компьютерах является двоичный дополнительный код, в котором дл представления каждого числа используется фиксированное количество битов. В настоящее время данная система чаще всего реализуется с использованием, для представления любого числа, 32-х двоичных разрядов. Подобное решение позволяет предоставить широкий диапазон целых чисел, однако демонстрация его работы вызывает определенны затруднения. Поэтому при изучении свойств двоичного дополнительного кода мы будем оперировать числами меньшей длины. Построение подобной системы начинается с записи строки нулей, количество которых равно числу используемых двоичных разрядов. Далее ведется обычный двоичный отсчет до тех пор, пока не будет получено значение состоящее из единственного нуля, за которым следуют лишь единицы. Полученные комбинации будут представлять положительные числа 0, 1, 2, 3, …. Для представления отрицательных чисел выполняется обратный отсчет, начиная со строки из всех единиц соответствующей длины. Обратный счет продолжается до тех пор, пока не будет получена строка, состоящая из одной единицы, за которой будут следовать все нули. Полученные комбинации будут представлять числа -1, -2, -3, …. (Если вам покажется трудным вести обратный отсчет в двоичной системе счисления, можно отсчитывать комбинации в обратном порядке, начиная со строки с одной единицей и всеми нулями заканчивая строкой, состоящей из одних единиц.) В дополнительном двоичном коде крайний левый бит определяет знак представляемой числовой величины, поэтому этот бит принято называть знаковым разрядом (отрицательные числа представляются комбинациями со знаковым битом, равным 1, а положительные числа — комбинациями со знаковым битом, равным 0). В двоичном дополнительном коде очень удобно представлена взаимосвязь между комбинациями битов, представляющими положительные и отрицательные значения, одинаковые по модулю. Последовательность битов оказывается идентичной при чтении справа налево до первой единицы включительно. С этой позиции и далее коды являются дополнительными друг другу. (Дополнением двоичной комбинации называется такая комбинация, которая получается в результате изменения всех нулей в исходном значении на единицы, а всех единиц на нули. Например, двоичные комбинации 0110 и 1001 являются дополнительными друг другу). Например в четырехразрядном коде обе битовые комбинации, представляющие числа 2 и -2, заканчиваются на 10, однако комбинация, представляющая число 2, начинается с 00 тогда как комбинация, представляющая число -2, начинается с 11. Данное наблюдение позволяет сформулировать алгоритм взаимного преобразования битовых комбинаций, представляющих положительные и отрицательные числа, имеющие одно и то же значение по модулю. Достаточно просто копировать исходную комбинацию справа налево до тех пор, пока не будет встречена единица, а затем последовательно заменять значения оставшихся битов их дополнениями.
Таблица 1. Схемы кодирования в двоичном коде.
А) Трехразрядный дополнительный код. | Б) Четырехразрядный дополнительный код. | ||
Двоичное представление. | Десятичное представление. | Двоичное представление. | Десятичное представление. |
— 1. | |||
— 2. | |||
— 3. | |||
— 4. | |||
— 1. | |||
— 2. | |||
— 3. | |||
— 4. | |||
— 5. | |||
— 6. | |||
— 7. | |||
— 8. |
Ясное понимание описанных выше основных свойств двоичного дополнительного кода позволяет также сформулировать алгоритм преобразования значений этого кода в десятичное представление. Если битовая комбинация имеет нулевой знаковый бит, то это значение рассматривается просто как обычное двоичное число. Например, битовая комбинация 0110 представляет число 6, поскольку комбинация битов 110 является двоичным представлением числа 6 Если битовая комбинация содержит знаковый бит, равный единице, то она представляет отрицательное число, и нам остается лишь определить абсолютную величину этого числа. Это выполняется посредством записи исходной комбинации справа налево, вплоть до первой встретившейся единицы, после чего для оставшихся битов, в порядке и следования, записываются дополнительные значения. Полученная комбинация битов дешифруется как обычное двоичное число.
Например, чтобы определить десятичное значение комбинации 1010, мы, прежде всего, отмечаем, что это значение является отрицательным, так как исходная комбинация содержит единицу в знаковом бите. Затем исходная комбинация преобразуется в комбинацию 0110, которая представляет собой двоичное число 6. Теперь можно сделать окончательно заключение, что исходная двоичная комбинация представляет число -6.