Предсталение чисел в двоичном коде

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

Пусть значение сигнала представлено в привычной для человека цифровой форме – десятичным числом. Представим, как можно было бы передавать это значение в цифровом устройстве, например в ЭВМ. Любое число состоит из определенного числа разрядов. Выделим для передачи каждого разряда в ЭВМ отдельный провод, а для того чтобы отличать значения цифр предположим, что каждой из них соответствиет определенный уровень сигнала. Например, пусть цифре «один» в каждом разряде (проводе) соответствует 1 вольт, цифре «два» – 2 вольта и т. д. Сделать так можно, но сразу становится очевидно, что такой способ представления количественной информации в ЭВМ вызовет известные трудности, так как она должна будет все время оценивать уровни сигнала в каждом проводе. Сложно представить и то, как с формальной точки зрения реализовать блок, выполняющий при этом вычислительные операции и блок для хранения информации, представленной подобным образом.

Любой технической системе проще распознавать информацию, представленную двумя уровнями, иначе говоря, ей проще всего на каждом проводе распознавать ситуацию «сигнал есть» или «сигнала нет». При этом цифровые значения с помощью десятичных чисел представить не получится, но можно использовать представление цифровых значений с помощью двоичных чисел. В них каждый разряд представлен либо «0» (сигнала нет) либо «1» (сигнал есть). Рассмотрим, как цифровая информация может быт представлена в такой форме. Для этого познакомимся с системами счисления.

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

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

... а 2 а 1 а 0 ,, а –1 а –2 а –3 ,

Здесь а 0, а 1 ... цифры нулевого, первого и т. д. разрядов целой части числа, а –1, а –2 ... цифры первого, второго и т. д. разрядов дробной части числа.

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

N =... + а 2 * р 2 + а 1 * р 1 + а 0 * р 0 + а –1 * р –1 + а –2 * р – 2 ...

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

Десятичная система счисления. При р = 10 (т. е. в обычной десятичной системе счисления) для записи цифр разрядов применяется набор из десяти символов: 0, 1, 2,..., 9. При этом запись числа 729,324D (буквой D при числе в случае необходимости обозначается десятичная система счисления) означает следующее количество:

7 2 9, 3 2 4 = 7*102 + 2*101 + 9*100 + 3*101 + 2*102 + 4*103

102 101 100 10 –1 10 –2 10 3

весовые коэффициенты

разрядов

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

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

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

27,625D = 1* 24 + 1* 23 + 0* 22 + 1* 21 + 1* 20 + 1* 2–1 + 0* 2–2 + 1* 2–3 =

= 1*16 + 1* 8 + 0* 4 + 1* 2 + 1* 1 + 1* 0,5 + 0* 0,25 +1* 0,125 =

= (1 1 0 1 1, 1 0 1)В.

Буквой B при числе в случае необходимости указывается, что число представлено в двоичной системе счисления. И наоборот, по значению двоичного кода можно всегда представить количественную информацию в десятичной форме. Например, запись 10101,1B соответствует в десятичной системе счислении следующему числу:

1 1 0 1 0 1, 1 = 1* 25+ 1* 24+ 0* 23+1* 22+ 0* 21+ 1* 20+ 1* 2–1 = 53,5D

25 24 23 22 21 20 2–1

весовые коэффициенты

разрядов

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

Шестнадцатеричная система счисления. Основание системы счисления р = 16, для записи цифр разрядов используется набор из 16 символов: 0, 1, 2,..., 9, А, В, С, D, E, F, в котором 10 арабских цифр, а до требуемых шестнадцати их дополняют шестью начальными буквами латинского алфавита. При этом символ А соответствует количеству равному 10, В – 11, С – 12, D – 13, Е – 14 и F – 15.

Таким образом, запись АВ9,С2FH соответствует следующему числу в десятичной системе счисления:

A B 9, C 2 F = 10*162 + 11*161 + 9*160 + 12*16 –1 + 2*16 –2 + 15*16–3 =

162 161 160 16–1 16–2 16 3 ¯ ¯ ¯ ¯ ¯ ¯

весовые коэффициенты A B 9 C 2 F

разрядов

= 2745,7614745D.

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

Рассмотрим как формально осуществить преобразование двоичного кода в шестнадцатеричный: сначала его разбивают на тетрады (группы по четыре разряда начиная с младшего), а потом вместо каждой тетрады записывают то число, которое она определяет, используя вместо цифры 10 букву А и т. д. Например, вместо записи 101111010110100001В можно использовать более короткую запись 2F5A1H (буквой H при числе в случае необходимости обозначается шестнадцатеричная система счисления):

¯

0010 1111 0101 1010 0001.

¯ ¯ ¯ ¯ ¯

2 F 5 A 1

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: