Учебное пособие по курсу «Нейроинформатика» - страница 101

Шрифт
Интервал

стр.

6H004064B.0000.0000.0100.0000
7H0080128B.0000.0000.1000.0000
8H0100256B.0000.0001.0000.0000
9H0200512B.0000.0010.0000.0000
10H04001024B.0000.0100.0000.0000
11H08002048B.0000.1000.0000.0000
12H10004096B.0001.0000.0000.0000
13H20008192B.0010.0000.0000.0000
14H400016384B.0100.0000.0000.0000
15H800032768B.1000.0000.0000.0000
Операции с переменными типа цвет (color)

Таблица 3. Предопределенные константы операций с переменными типа Цвет (Color)

КодОбозначениеВычисляемое выражениеТип результатаПояснение
1CEqualA=BLogicПолное совпадение.
2CInA And B = ALogicA содержится в В.
3CIncludeA And B = BLogicА содержит В.
4CExcludeA And B = 0LogicA и В взаимоисключающие.
5CIntersectA And B <> 0Logic А и В пересекаются.
6COrA Or BСolorПобитное включающее или.
7CAndA And BColorПобитное и.
8CXorA Xor BColorПобитное исключающее или
9CNotNot AColorПобитное отрицание

В табл. 3 приведены операции с переменными типа Color. Первые пять операций могут использоваться только для сравнения переменных типа Color, а остальные четыре операции — для вычисления выражений типа Color.

В ряде запросов необходимо указать тип операции над цветом. Для передачи таких параметров используется переменная типа Integer. В качестве значений передается содержимое соответствующей ячейки столбца код табл. 3.

Приведение и преобразование типов

Есть два пути использовать переменную одного типа как переменную другого типа. Первый путь состоит в преобразовании значения к заданному типу. Так, для преобразования целочисленной переменной к действительному типу, достаточно просто присвоить переменной действительного типа целочисленное значение. С обратным преобразованием сложнее, поскольку не ясно что делать с дробной частью. В табл. 4 приведены все типы, которые можно преобразовать присваиванием переменной другого типа. В табл. 5 приведены все функции преобразования типов.


Таблица 4. Преобразование типов прямым присваиванием переменной значения выражения

Тип переменнойТип выраженияПояснение
RealReal, Integer, LongЗначение преобразуется к плавающему виду. При преобразовании значения выражения типа Long возможна потеря точности.
LongInteger, LongПри преобразовании типа Integer, действуют следующие правила. Значение переменной помещается в два младших байта. Если значение выражения больше либо равно нолю, то старшие байты равны H0000, в противном случае старшие байты равны HFFFF.
IntegerInteger, LongПри преобразовании выражения типа Long значение двух старших байт отбрасывается.

Таблица 5. Функции преобразования типов

Имя функцииТип аргументаТип результатаОписание
RealReal, Integer, LongRealАналогично прямому присваиванию
IntegerInteger, LongIntegerАналогично прямому присваиванию
LongInteger, LongLongАналогично прямому присваиванию
StrReal, Long, IntegerStringПредставляет числовой аргумент в виде символьной строки в десятичном виде
RoundRealLongОкругляет действительное значение до ближайшего длинного целого. Если значение действительного выражения выходит за диапазон длинного целого, то результат равен нулю.
TruncateRealLongПреобразует действительное значение в длинное целое путем отбрасывания дробной части. Если значение действительного выражения выходит за диапазон длинного целого, то результат равен нулю.
LValStringLongПреобразует длинное целое из символьного представления во внутреннее.
RValStringRealПреобразует действительное число из символьного представления во внутреннее.
StrColorColorStringПреобразует внутреннее представление переменной типа Color в соответствии с разд. «Значение переменной типа цвет»
ValColorStringColorПреобразует символьное представление переменной типа Color во внутреннее.
ColorIntegerColorИнтерпретирует целое число как значение типа Color.

При вычислении числовых выражений действуют следующие правила преобразования типов:

1. Выражения вычисляются слева на право.

2. Если два операнда имеют один тип, то результат имеет тот же тип.

3. Если аргументы имеют разные типы, то выражение имеет старший из двух типов. Список числовых типов по убыванию старшинства: Real, Long, Integer.

4. Результат операции деления действительных чисел (операция «/») всегда имеет тип Real, вне зависимости от типов аргументов.


стр.

Похожие книги