Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
All ATD конспект.docx
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
79.57 Кб
Скачать

4. Целочисленные типы

Этот тип включает некоторое подмножество целых, размер которого варьируется от машины к машине. Если для представления целых чисел в машине используется n разрядов, причем используется дополнительный код, то допустимые числа должны удовлетворять условию -2n-1<= x< 2n-1.

Числа делятся на знаковые и беззнаковые. Для каждого из них имеется свой диапазон значений:

a)(0..2n-1) для беззнаковых чисел

b) (-2n-1.. 2n-1-1) для знаковых.

Операции над целым типом:

a) +, -, *.

d) Целочисленное деление.

e) Нахождение остатка по модулю.

f) Нахождение экстремума числа.

g) операции сравнения.

Во всех операциях, кроме сравнения, в результате получается целое число.

5. Вещественные типы

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

Для получения большей точности применяют запись чисел с плавающей точкой.

Формат для представления чисел с плавающей точкой содержит одно или два поля фиксированной длины для знаков.

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

Х = 2n-1 + k + p,

n - число бит, отведенных для характеристики,

p - порядок числа,

k - поправочный коэффициент фирмы IBM, равный +1 для real и -1 для форматов single, double, extended.

6. Битовые типы

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

Операции над такими данными обеспечивают доступ к выбранному биту данного.

В языке PASCAL роль битовых типов выполняют беззнаковые целые типы byte и word. Над этими типами помимо операций, характерных для числовых типов, допускаются и побитовые операции. Аналогичным образом роль битовых типов играют беззнаковые целые и в языке C.

Возможны три группы специфических операций:

      • операции булевой алгебры,

      • операции сдвигов,

      • операции сравнения.

Операции булевой алгебры:

НЕ (not), ИЛИ (or), И (and), исключающее ИЛИ (xor).

Операции сдвигов

Выполняют смещение двоичного кода на заданное количество разрядов влево или вправо.

Из трех возможных типов сдвига (арифметический, логический, циклический) в языках программирования обычно реализуется только логический (например, операциями shr, shl в PASCAL).

Операции сравнения

Битовые данные интерпретируются как целые без знака, и сравнение выполняется как сравнение целых чисел.

7. Логический тип

Значениями логического типа BOOLEAN может быть одна из предварительно объявленных констант:

      • false (ложь) true (истина).

Данные логического типа занимают один байт памяти. При этом значению false соответствует нулевое значение байта, а значению true соответствует любое ненулевое значение байта.

В языке C данные логического типа отсутствуют, их функции выполняют данные числовых типов, чаще всего - типа int.

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

Результатами логического типа являются целые числа 0 (ложь) или 1 (истина).

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