Internamente, la computadora almacena los datos en más de una forma. El lenguaje Cobol facilita al programador especificar la representación interna de los datos según la necesidad. Hay dos formularios internos disponibles en Cobol:
- DISPLAY:
es la representación interna predeterminada de los datos. Se puede especificar cualquier tipo de dato con la representación interna DISPLAY. - COMPUTACIONAL:
solo los datos numéricos se pueden especificar con la representación interna COMPUTACIONAL. Hay muchos tipos de representación COMPUTACIONAL, como COMP, COMP-1, COMP-2, COMP-3, etc.
La cláusula USAGE se utiliza para especificar el tipo de representación interna. Puede usar cualquier número de nivel para la cláusula USAGE excepto 66 u 88.
Syntax: USAGE IS {COMPUTATIONAL/COMP/DISPLAY}.
1. COMP:
la cláusula de uso se aplica solo a elementos de datos numéricos. Representa los datos puramente en forma binaria. y puede almacenar los datos en media palabra o en palabra completa dependiendo del tamaño de los datos. Solo podemos usar 9 y S durante la declaración de datos:
- 9 se utiliza para almacenar declarar variables enteras.
- S se utiliza para almacenar el signo.
2. COMP3: la
cláusula de uso se aplica solo a elementos de datos numéricos. Almacena los datos en formato decimal empaquetado. Utiliza un bit más a la derecha para almacenar el signo independientemente del clima que hayamos usado S en la cláusula PIC o no. El número hexadecimal C y F almacena el signo positivo en el bit más a la derecha y D almacena el signo negativo en el bit más a la derecha. Podemos usar 9, S y V en la cláusula PIC durante la declaración de datos.
V se usa para almacenar el punto decimal en una ubicación particular en el elemento de datos.
Diferencia entre COMP y COMP3:
COMP. |
COMP3 |
---|---|
Representa los datos en forma binaria pura. | Representa los datos en formato decimal empaquetado. |
Solo podemos usar 9 y S en la Cláusula PIC. | Podemos usar 9 , S , V en la Cláusula PIC. |
El uso de COMP almacena los datos en media palabra o en palabra completa, según el tamaño de los datos. | El uso de COMP3 almacena 1 dígito en medio byte (es decir, 4 bits) y se reserva 1 bit separado para el signo, que se almacena en el lado derecho de los datos. |
La memoria que ocuparán los datos según la longitud está predefinida, es decir:
|
La memoria a ocupar por los datos se define mediante la siguiente fórmula:
Ejemplo: La memoria ocupada por S9(3) es: (3+1)/2, es decir, 2 bytes. |
COMP no ocupa espacio adicional para almacenar el letrero. | En COMP3 el inicio de sesión se almacena obligatoriamente en el lado derecho y por lo tanto ocupa un espacio extra. |
Example: 02 CompVariable PIC 9 USAGE IS COMP. 02 CompVariable1 PIC S9(5) USAGE IS COMP. |
Example: 02 Variable PIC 9 USAGE IS COMP3. 02 Variable1 PIC S9(10) USAGE IS COMP3. 02 Variable2 PIC S9V99 USAGE IS COMP3. |