DECIMAL (упакованное десятичное число фиксированной длины со
знаком)
метка DECIMAL(length[,places][,initial value])[,DIM()][,OVER()][,NAME()][,EXTERNAL]
Формат: | s d15 d14 d13 d12 d11 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 |
Биты: | 60____________________________________________0 |
Диапазон: | -999,999,999,999,999..999,999,999,999,999 |
length | ТРЕБУЕМАЯ числовая константа, содержащая общее число десятичных цифр (в целой и дробной частях вместе взятых) в переменной. Максимальная длина 15. |
places | Числовая константа, уточняющая количество цифр в дробной части (справа от десятичной точки) в переменной. Она должна быть меньше или равна параметру length. Если опущена, то описываема переменная считается целочисленной. |
initial value | Числовая константа. Если опущена, то подразумевается ноль. |
DIM | Размерность(и) переменной как массива. |
OVER | Разделяет один и тот же участок памяти с другой переменной |
NAME | Задает внешнее имя для переменной. |
EXTERNAL | Указывает, что переменная описана и память под нее выделяется во внешней библиотеке. НЕ разрешено для описаний FILE, QUEUE и GROUP. |
DECIMAL описывает переменную переменной длины со знаком, в формате BCD (binary-coded-decimal) Intel 8087. Каждый байт в DECIMAL хранит две десятиные цифры (по 4 бита на цифру). Самый левый байт хранит знак числа в своем старшем ниббле (0 = плюс, что-нибудь другое - минус) и одну десятичную цифру. Таким образом, переменные типа DECIMAL всегда содержат нечетное число цифр (скажем, DECIMAL(10) и DECIMAL(11) оба занимают по 6 байт. Присвоение DECIMAL-переменным значений, выходящих за пределы DECIMAL приводит к непредсказуемым результатам.
Пример:
Countl DECIMAL(5,O) !Declare three-byte signed packed decimal
Count2 DECIMAL(5),OVER(Countl) !Declare OVER the three-byte
signed packed decimal
Count3 DECIMAL(5.0),DIM(4) !Declare it an array of 4 decimals
Count4 DECIMAL(5,0,5) !Declare with initial value
Count5 DECIMAL(5,O),EXTERNAL !Declare as external
Count6 DECIMAL(5,O),NAME('SixCount') !Declare with external name
ExampleFile FILE,DRIVER('Clarion') !Declare a file
Record RECORD
Count7 DECIMAL(5,O),NAME('Counter 1) !Declare with
. . !external name
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий