Биты, байты, слова, параграфы

Компьютер работает в двоичной системе счисления – минимальным информационным элементом является бит, который может принимать значение 0 или 1. Этим значениям соответствуют различимые физические состояния ячейки, чаще всего – уровень напряжения (низкий или высокий). Биты организуются в более крупные образования – ячейки памяти и регистры. Каждая ячейка памяти (регистр) имеет свой адрес, однозначно ее идентифицирующий в определенной системе координат. Минимальной адресуемой (пересылаемой между компонентами компьютера) единицей информации является байт, состоящий, как правило, из 8 бит. Два байта со смежными адресами образуют слово (word) разрядностью 16 бит, два смежных слова образуют двойное слово (double word) разрядностью 32 бита, два смежных двойных слова образуют учетверенное слово (quad word) разрядностью 64 бита.

Существуют процессоры и компьютеры с разрядностью обрабатываемого слова не кратной 8 (например, 5, 7, 9...), и их байты не восьмибитные, но в мире PC столкновение с ними маловероятно. Также в некоторых системах (обычно коммуникационных) совокупность восьми соседних бит данных называют октетом. Название «октет» обычно подразумевает, что эти 8 бит не имеют явного адреса, а характеризуются только своим местоположением в длинной цепочке бит.

В двухбайтном слове принят LH-порядок следования байт: адрес слова указывает на младший байт L (Low), а старший байт Н (High) размещается по адресу, на единицу большему. В двойном слове порядок будет аналогичным – адрес укажет на самый младший байт, после которого будут размещены следующие по старшинству. Этот порядок, естественный для процессоров Intel, применяется не во всех других микропроцессорных семействах. Байт (8 бит) делится на пару тетрад (nible): старшую тетраду – биты [7:4] и младшую тетраду – биты [3:0].

В технической документации, электрических схемах и текстах программ могут применяться разные способы представления чисел.
Двоичные (binary) числа – каждая цифра означает значение одного бита (0 или 1), старший бит всегда пишется слева, после числа ставится буква «b». Для удобства восприятия тетрады могут быть разделены пробелами. Например, 1010 0101b.
Шестнадцатеричные (hexadecimal) числа – каждая тетрада представляется одним символом 0...9, А, В, ..., F. Обозначаться такое представление может по-разному, в данном пособии используется только символ «h» после последней шестнадцатеричной цифры. Например, A5h. В текстах программ это же число может обозначаться и как 0хА5, и как 0A5h, в зависимости от синтаксиса языка программирования. Незначащий ноль (0) добавляется слева от старшей шестнадцатеричной цифры, изображаемой буквой, чтобы различать числа и символические имена.
Десятичные (decimal) числа – каждый байт (слово, двойное слово) представляется обычным числом, а признак десятичного представления (букву «d») обычно опускают. Байт из предыдущих примеров имеет десятичное значение 165. В отличие от двоичной и шестнадцатеричной формы записи, по десятичной трудно в уме определить значение каждого бита, что иногда приходится делать.
Восьмеричные (octal) числа – каждая тройка бит (разделение начинается с младшего) записывается в виде цифры 0–7, в конце ставится признак «о». То же самое число будет записано как 245о. Восьмеричная система неудобна тем, что байт невозможно разделить поровну, но зато все цифры – привычные.

В таблице 1 приведены разные представления одной тетрады (4 бит). Чтобы перевести любое 16-битное число в десятичное, нужно десятичный эквивалент старшей тетрады умножить на 16 и сложить с эквивалентом младшей тетрады. Приведем пример:

A5h = 10 * 16 + 5 = 165

Обратный перевод тоже несложен: десятичное число делится на 16, целая часть даст значение старшей тетрады, остаток – младшей.
Подробнее о переводе систем счисления

Таблица 1 - Представление двоичных чисел в разных системах счисления


Двоичное

Шестнадцатеричное

Десятичное

Восьмеричное

0000

0

0

0

0001

1

1

1

0010

2

2

2

0011

3

3

3

0100

4

4

4

0101

5

5

5

0110

6

6

6

0111

7

7

7

1000

8

8

10

1001

9

9

11

1010

A

10

12

1011

B

11

13

1100

C

12

14

1101

D

13

15

1110

E

14

16

1111

F

15

17
см. также расчет объема информации в битах.
загрузка...