Иллюстрированный самоучитель по Delphi 7 для начинающих

Приложение 3. Представление информации в компьютере.

Память компьютера

Память компьютера состоит из ячеек (битов). Каждый бит может хранить одну двоичную цифру. Следовательно, значением бита может быть ноль или единица. Восемь битов объединены в байт. Максимальное число, которое можно записать при помощи восьми двоичных цифр – это 11111111, что соответствует десятичному числу 255, минимальное – ноль. Поэтому значением байта может быть число от нуля до 255.

Память используется для хранения переменных. Так как переменные различных типов могут принимать различные значения, то для их хранения нужно разное количество памяти. Память под переменные выделяется целым числом байтов. Например, значением переменной типа char может быть любой из 256 символов. Поэтому для хранения переменной этого типа достаточно одного байта. Значением переменной типа integer может быть число от -32 768 до 32 767 (65 535 значений), для хранения переменной этого типа требуется два байта. Очевидно, что чем больше диапазон значений типа, тем больше байтов нужно для хранения переменной этого типа (табл. П3.1).

Таблица П3.1. Диапазоны значений и занимаемая память для разных типов переменных.

Тип переменной Занимаемая память (количество байтов) Диапазон значений
Char 1 Любой символ
String 256 Строка до 256 символов
String [n] 1хn Строка до n символов
Byte 1 0-255
Word 2 0-65 535
Integer 2 -32 768.. 32 767
Longint 4 -2 147 483 648.. 2 147 483 647
Real 6 2.9е-39-1.7е38
Single 4 1.5е-45-3.4е38
Double 8 5.0е-324-1.7е308
Extended 8 3.4е-4932-1.1е4932

В программе для хранения одного и того же значения можно использовать переменные разных типов (при этом будет применяться разное количество памяти). Например, если в программе используется переменная Day, содержащая число месяца, то для нее можно задать тип byte, integer или longint. В первом случае будет занят один байт памяти, во втором – два, в третьем – четыре. Но реально будет использоваться только один байт, а остальные будут только заняты. Поэтому, выбирая тип для переменной, следует подбирать наиболее подходящий тип для каждой конкретной ситуации. Особо необходимо обращать внимание на описание строковых переменных и массивов.

Выделяя память для строковых переменных, следует помнить, что если не указана предельная длина строки, то переменной выделяется 256 байтов. Объявляя переменную, предназначенную, например, для хранения имени человека, нужно писать name: string [30], а не name: string.

Каждому массиву программы выделяется память, объем которой определяется как типом элементов массива, так и их количеством. Для хранения двумерного массива, например, 20x20 вещественных чисел нужно более 3 Кбайт памяти (20x20x8 = 3200).

Память компьютера кажется неограниченной, но если ее использовать нерационально, то в некоторый момент может возникнуть ситуация, связанная с нехваткой памяти.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.