Справочник программиста на персональном компьютере фирмы IBM. Приложения
Страница 2. Двоичные и шестнадцатиричные числа и  адресация памяти



   Приложение А.  Двоичные и шестнадцатиричные числа и  адресация памяти.


   Основной единицей хранения данных в компьютере является бит. В
большинстве  микрокомпьютеров восемь битов объединены в байт, при
этом каждый бит байта может  быть  установлен или "включен" (= 1)
или  сброшен или "выключен" (= 0), допуская 256 разных вариантов.
Таким образом, в одном байте можно  представить 256 разных симво-
лов  (расширенный набор кодов ASCII) или целое число в  диапазоне
от 0 до 255.  Хотя мы привыкли  записывать эти числа в десятичной
форме,  они могут записываться также в двоичной или  шестнадцати-
ричной форме - их значения  при  этом  не изменяются, а программы
могут с одинаковой легкостью читать эти значения как в той, так и
в другой форме. Вместо  того,  чтобы  говорить, что в одном байте
могут  храниться числа от 0 до 255, можно сказать, что могут хра-
ниться двоичные числа от 00000000 до 11111111 или шестнадцатирич-
ные  числа от 00 до FF.  Поскольку можно перепутать разные формы,
то двоичные  и  шестнадцатиричные  числа  отмечаются  специальным
образом. В языке ассемблера за двоичными числами следует буква B,
а за шестнадцатиричными числами  -  буква  H, например, 11111111B
или  FFH.   Бейсик фирмы Microsoft  предваряет  шестнадцатиричные
числа символами &H, например  &FFH; к сожалению, он не распознает
числа в двоичной форме.

Двоичные числа:

   Когда  содержимое  байта представляется в двоичной  форме,  то
требуется 8 цифр. Каждая цифра соответствует одному биту, которые
нумеруются  от 0 до 7.  Как и в десятичных числах цифры  распола-
гаются справа налево, от младших к старшим разрядам. В отличии от
десятичных  чисел, в которых каждая последующая цифра весит в  10
раз больше своей  соседки  справа,  двоичные  цифры  имеют только
вдвое  больший  вес.  Таким образом, самая правая  цифра  считает
единицы, вторая - двойки,  третья  - четверки и т.д., до значения
128 для восьмой цифры байта.  Это означает, что если первая цифра
равна 1, то прибавление к ней 1  приводит  к тому, что она станет
0, а 1 будет перенесена во вторую цифру, как для десятичных чисел
9 + 1 = 0 и перенос единицы  в  следующий  разряд.  Вот как числа
первого десятка представляются в двоичной форме:

   00000000               0
   00000001               1
   00000010               2
   00000011               3
   00000100               4
   00000101               5
   00000110               6
   00000111               7
   00001000               8
   00001001               9
   00001010              10

   В этой последовательности большинство нулей слева необязатель-
ны, т.е. эту последовательность можно записать и в виде 0, 1, 10,

11, 100, 101 и т.д.  Нули включены только для того, чтобы  напом-
нить Вам, что байт составляется восемью цифрами, соответствующими
битам.  В то время как набор нулей и единиц может быть  несколько
утомительным, Вы можете легче  работать с двоичными числами, если
будете представлять их себе следующим образом:

   бит     7     6     5     4     3     2     1     0
значение  128   64    32    16     8     4     2     1

Когда  Вы встречаете двоичное число 10000001, то установлены биты
7 и 0.  Бит 7 соответствует 128,  а бит 0 - 1, поэтому десятичное
значение байта равно 129.  Если этот байт представляет символ, то
он соответствует коду ASCII  129,  который представляет букву u с
умляутом (в альтернативной кодировке ГОСТа - букву Б).  Наоборот,
чтобы определить цепочку битов  для  буквы A, которая равна ASCII


 
« Предыдущая статья   Следующая статья »