Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
[ Монахов ] Объектно-ориентированное программирование.doc
Скачиваний:
94
Добавлен:
16.08.2013
Размер:
490.5 Кб
Скачать

2.3. Стандартные типы данных. Двоичное представление чисел и дополнительный код.

Целые типы

Byte: 0..255 — байтовый (1 байт)

ShortInt: -128..127 — короткое целое (1 байт)

Word: 0..65535 — 16-ричное слово (2 байта)

Integer(в C, C++,…-int) — целые. Начиная с Delphi3 по умолчанию идентичен longInt – см.далее

LongInt: -2147483648..2147483647 — длинное целое (диапазон примерно

-2e9..2e9, размер 4 байта)

LongWord – 32-битные без знака (4байта)

Int64 – 64-битные со знаком (8 байт) – имеют особенности в правилах приведения типа

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

Real(в C - float) — вещественные, (изначально был 6 байт, 11..12 значащих цифр мантиссы): 0.0, 0.1, 1e6,2.9e-39, -1.7e38

Начиная с Delphi3 по умолчанию идентичен Double (см. далее)

Double: 5.0e-324..1.7e308 — двойная точность (8 байт, 15..16 значащих

цифр мантиссы)

Extended: 1.9e-4951..1.1e4932 — расширенная точность (10 байт, 19..20

значащих цифр мантиссы)

Булевский (логический) тип

Boolean (1 байт): величины этого типа принимают только значения true или false.Во всех C-образных языках кроме Java идентичен байтовому типу

Символьный (литерный) тип

Char (1 байт): один символ. 'A', 'b', '*', ' ', '/'. (Существует в Java, в других C-образных языках идентичен байтовому типу. В Java константы символьного типа пишутся в двойных кавычках: “A”, “b” и т.д).

Строковый тип

String (не менее 4 байт): произвольное число символов (от 0 до 2e9). 'A', 'abcd', 'мама моет раму', ' '. Работа со строками в Object PASCAL не имеет аналогов по мощности и удобству в других языках программирования

Двоичное представление целых положительных чисел

Двоичное представление целых отрицательных чисел

Двоичное представление вещественных чисел

Двоичные дроби. … Мантисса и логарифм…

2.4. Особенности работы с некоторыми типами данных

  1. 64-битовые целые

Описание:

Var a:Int64;

Значения — 263 … 263 -1 - знаковые 64-битные.

Преобразование обычного числа в 64-битовое – с помощью функции Int64.

Примеры задания 64-битных статических переменных (о том, что это такое, см. :

const Num64=Int64(17);

const Num64b:Int64=17;

const Num64c=3000000000;

Вызовы осуществляются только с 64-битными числами во всех частях выражения:

a:=a+Int64(1);

  1. 32-битовые без знака — Longword;

0..4294967295 (то есть чуть больше 4*109 ) — то есть то же, что Cardinal;

  1. Изменения в типе Real

Был 48-битовым, теперь идентичен 64-битовому Double. Для совместимости можно использовать тип Real48 либо ставить опцию компилятору

{REALCOMPATIBILITY ON}

2.5. Арифметические операторы.

Бинарные полиморфные (тип результата определяется по правилам приведения типов,

см. далее):

+ сложение (все целые и вещественные типы, строковые типы, множества).

Пример: a+b

- вычитание (все целые и вещественные типы, множества): a-b

* умножение (все целые и вещественные типы, множества): a*b

/ деление (все целые и вещественные типы, результат — вещественный):

a/b

Бинарные неполиморфные целочисленные:

div — целочисленное деление. Пример: a div b

mod — остаток от целочисленного деления a mod b

(в C-образных %):

and — побитовое "И" (в C-образных &) a and b

or — побитовое "ИЛИ"(в C-образных | ) a or b

xor — побитовое "исключающее ИЛИ"(в C-образных ^ ) a xor b

shl — побитовый сдвиг влево(в C-образных <<) a shl b

shr — побитовый сдвиг вправо(в C-образных >>) a shr b

Унарные полиморфные:

+ сохранение знака (целые и вещественные типы). Пример: +a

  • изменение знака на противоположный(целые и вещественные типы).

Пример: -a

Унарные целочисленные:

not побитовое "НЕ" (целые типы). Пример: not a

Соседние файлы в предмете Информатика