Turbo Pascal для начинающих



  

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

В памяти компьютера числа хранятся в виде битов. Каждый бит может принимать значение одной двоичной цифры. Следовательно, значением бита может быть ноль или единица. Восемь битов объединены в байт. Максимальное число, которое можно записать при помощи восьми двоичных цифр, — это 11111111, что соответствует десятичному числу 255, минимальное — ноль. Поэтому, значением байта может быть число от нуля до 255.
Переменные хранятся в памяти. Так как переменные различных типов могут принимать различные значения, то для их хранения нужен разный объем памяти. Память под переменные выделяется в байтах (целое число). Например, значением переменной типа char может быть любой из 256 символов. Поэтому для хранения переменной такого типа достаточно одного байта. Значением переменной типа integer может быть число от —32 768 до 32 767 (65 535 значений). Для хранения переменной этого типа требуется два байта. Очевидно, что чем больше диапазон значений типа, тем больше байтов нужно для хранения переменной этого типа:

CHAR
1
Любой символ
STRING
256
Строка до 256 символов
STRING[N]
1 x 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) нужно более трех килобайт памяти (20x20x8 = 3200).
Хотя объем памяти компьютера кажется неограниченным, но если ее нерационально использовать, то в один прекрасный момент памяти может не хватить.

  
Назад Начало