Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OAiP_shporka.doc
Скачиваний:
28
Добавлен:
11.05.2015
Размер:
455.17 Кб
Скачать

14. Представление данных в оперативной памяти. Размеры данных.

Информация хранится в памяти машины и обрабатывается процессором в двоичном виде. Формат записи данных в памяти называется внутренним представлением информации в ЭВМ. Применение двоичной с/с позволяет использовать для хранения информации элементы, имеющие всего два устойчивых состояния. Одно состояние служит для изображения единицы, другое – для изображения нуля. По такому же признаку изображают знак числа: 0 – для знака +, 1 для знака -.

Существует два основных способа представления чисел, называемых представлениями с фиксированной и плавающей точкой.

Для чисел с фиксированной точкой положение точки зафиксировано после младшей целой цифры числа, дробная часть отсутствует, точка в изображении числа опускается.

Таким образом, с фиксированной точкой могут хранится только целые числа, в памяти машины они записываются в 2 с/с. Для указания, что значение некоторой переменной должно быть записано в 2 с/с с фиксированной точкой, в языке Си применяются атрибуты int, long int, unsigned int.

Двоичное целое число занимает в памяти машины 16 или 32 двоичных разряда (бита). Это зависит от длины числа и способа объявления переменной. Поля памяти ЭВМ имеют специальные названия: 8 бит называют байтом, 16 бит – словом, 32 бита – двойное слово, 1024 байта – лист (обозначают Кбайт).

Все байты памяти пронумерованы, начиная с нуля. Адресом информации считается адрес (номер) самого первого байта поля памяти, выделенного для ее хранения.

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

В общем виде любое число А может быть представлено в виде A=m*N(в степени p), где m – мантисса числа, N- основание системы счисления; P – порядок числа, указывающий положение точки в изображении числа.

Типы данных с плавающей точкой: float, double, long double.

Всякое число, меньшее по абсолютной величине минимального положительного числа, представленного в соответствующем формате, будет в памяти записано в виде нуля. Для данного формата это так называемый «машинный нуль». Кроме того, числа, получающиеся в результате вычислений, не должны превышать по абсолютной величине максимального числа, представленного в соответствующем формате. Иначе старшие биты числа будут потеряны, а результат вычислений искажен. Такая ситуация называется переполнением разрядной сетки, а сами числа – «машинной бесконечностью».

Если количество цифр в числе, записываемом в ПЭВМ или получающемся в процессе вычисления больше выделенного поля памяти, то избыточные цифры отбрасываются, число, записанное в память, будет приближенным. При этом оно округляется с избытком.

Современная ЭВМ обрабатывает не только числовую, но и любую символьную информацию. В ПЭВМ для внутреннего представления символьных данных используется код ASCII, в котором каждому символу соответствует 8-разрядный код, т.е. в байт записывается один символ.

15. Правила определения переменных в программе. Инициализация переменных.

Данные, значения которых во время выполнения программы можно изменять, называются переменными, неизменяемые данные называются константами. В программе все данные перед их использованием должны быть объявлены или определены. В операторах определения данных указывается тип данных и перечисляется через запятую имена переменных, имеющих данный тип. Отличие объявления от определения заключается в том, что при объявлении переменной ей место в памяти соответствующей функции не выделяется, объявление лишь сообщает компилятору тип переменной. Место же для значения переменной запрашивается в другой функции. К объявлениям относятся, например, перечисление имен переменных в списке параметров функции.

Определение переменных имеет следующий формат:

[спецификатор класса памяти] спецификатор типа идентификатор [=начальное значение];

Идентификатор может быть записан с квадратными скобками, круглыми скобками или перед ним может быть один или несколько знаков *.

Спецификатор типа – это одно или несколько ключевых слов, определяющих тип переменной. Язык Си определяет стандартный набор основных типов данных (int, char, double). При определении переменных им можно присвоить начальное значение.

Четыре ключевых слова: auto, extern, register, static определяют класс памяти. Если ключевое слово, определяющее класс памяти, опущено, то класс памяти определяется по контексту.

Определение и объявление переменных рекомендуется размещать в начале программного модуля.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]