1.2.2. Биты, байты и слова

Минимальная единица информации называется

битом. Бит принимает только два значения - обычно О и 1. На самом деле они совершенно необязательны -один бит может принимать значения «да» и «нет», по­казывать присутствие и отсутствие жесткого диска, а также является ли персонаж игры магом или вои­ном - важно лишь то, что бит имеет только два значения. Но многие величины принимают большее число значений, следовательно, для их описания нельзя

обойтись одним битом.

Единица информации размером 8 бит называется байтом. Байт - это мини­мальный объем данных, который реально может использовать компьютерная программа. Даже для изменения значения одного бита в памяти надо сначала считать байт, содержащий его. Биты в байте нумеруют справа налево, от нуля до семи, нулевой бит часто называют младшим битом, а седьмой - старшим (см.рис.1).

Так как всего в байте восемь бит, он может принимать до 28 = 256 разных зна­чений. Байт используют для представления целых чисел от 0 до 255 (тип unsigned char в С), целых чисел со знаком от -128 до +127 (тип signed char в С), набора символов ASCII (тип char в С) или переменных, принимающих менее 256 значе­ний, например для представления десятичных чисел от 0 до 99.

Следующий по размеру базовый тип данных - слово. Размер одного слова в про­цессорах Intel - два байта (см. рис. 2). Биты с 0 по 7 составляют младший байт слова, а биты с 8 по 15 - старший. В слове содержится 16 бит, а значит, оно может

 

Остаток

151/2=75

1 '

75/2 = 37

1

37/2 = 18

1

18/2 = 9

0

9/2 =4

1

■4/2=2

0

2/2 = 1

0

1/2 =0

1

Результат:

10010111b

7  6   5  4   3   2   1 0 РИС. 1. Байтпринимать до 216 = 65 536 разных значений. Слова используют для представле­ния целых чисел без знака со значениями 0-65 535 (тип unsigned short в С), це­лых чисел со знаком от -32 768 до +32 767 (тип short int в С), адресов сегментов и смещений при 16-битной адресации. Два слова подряд образуют двойное слово, состоящее из 32 бит, а два двойных слова - одно учетверенное слово (64 бита). Байты, слова и двойные слова - основные типы данных, с которыми мы будем

работать.

 

Еще одно важное замечание: в с процессорами Intel все дан-

ные хранятся так, что младший байт находится по младшему адресу, по­этому слова записываются задом наперед, то есть сначала (по младшему

адресу) - последний (младший) байт, а потом (по старшему адресу) -первый (старший) байт. Если из программы всегда обращаться к слову как к слову, а к двойному слову как к двойному слову, это не оказывает ни­какого влияния. Но если вы хотите прочитать первый (старший) байт из слова в памяти, то придется увеличить адрес на 1. Двойные и учетверен­ные слова записываются так же - от младшего байта к старшему.