COBOL: COMP, COMP-1, COMP-2, COMP-3, COMP-4, COMP-5
A cláusula COMP (ou BINARY) é usada para armazenar números em formato binário puro. Esse tipo de dados economiza memória e acelera cálculos.
- Memória ocupada:
PIC S9
aS9(4)
: 2 bytes.PIC S9(5)
aS9(9)
: 4 bytes.PIC S9(10)
aS9(18)
: 8 bytes.
- Exemplo de código:
01 IDADE PIC S9(8) USAGE COMP.
Resultado: O valor é armazenado em 4 bytes.
COMP-1 (Ponto Flutuante Simples)
A cláusula
COMP-1
é destinada a números de ponto flutuante com precisão simples.- Características:
- Tamanho fixo de 4 bytes.
- Não requer cláusula
PICTURE
. - Representa números com mantissa e expoente.
01 ALTURA USAGE COMP-1.
Resultado: O número é armazenado com 1 byte para o sinal e o expoente e 3 bytes para a mantissa.
COMP-2 (Ponto Flutuante Duplo)
A cláusula
COMP-2
é utilizada para números de ponto flutuante com precisão dupla.- Características:
- Tamanho fixo de 8 bytes.
- Ideal para cálculos que exigem alta precisão.
- Não usa
PICTURE
.
01 DISTANCIA USAGE COMP-2.
Exemplo de código:
01 DISTANCIA USAGE COMP-2.
Resultado: Armazena valores numéricos com maior precisão.
COMP-3 (Decimal Compactado)
A cláusula
COMP-3
armazena números no formato BCD (Binary Coded Decimal), que é uma forma compactada.- Características:
- Cada byte armazena dois dígitos.
- Um nibble (4 bits) é reservado para o sinal.
- Usado em sistemas financeiros.
- Memória ocupada:
A memória necessária é calculada como(número de dígitos + 1) ÷ 2
. - Exemplo de código:
01 SALARIO PIC 9(6)V99 USAGE COMP-3.
Resultado: O valor é armazenado em formato decimal compactado, ocupando 4 bytes.
COMP-4 (Binário)
O
COMP-4
é equivalente aoCOMP
, usado para armazenamento binário. É amplamente utilizado em cálculos internos.- Exemplo de código:
01 QUANTIDADE PIC S9(5) USAGE COMP-4.
Resultado: O valor é armazenado em formato binário.
COMP-5 (Binário Nativo)
A cláusula
COMP-5
é uma extensão doCOMP
que permite truncamento de dados conforme o tamanho binário declarado.- Características:
- Utiliza o campo binário completo para operações.
- Ignora limites impostos pelo
PICTURE
.
- Exemplo de código:
01 DESCONTO PIC S9(4)V99 USAGE COMP-5.
Resultado: O dado é armazenado em formato binário com truncamento.
Resumo Rápido das Cláusulas COMP
Cláusula Uso Principal Tamanho Formato COMP Números inteiros 2, 4 ou 8 bytes Binário puro COMP-1 Ponto flutuante simples 4 bytes Mantissa e expoente COMP-2 Ponto flutuante duplo 8 bytes Mantissa e expoente COMP-3 Dados decimais Variável Compactado (BCD) COMP-4 Binário (equivalente ao COMP) 2, 4 ou 8 bytes Binário puro COMP-5 Binário nativo com truncamento Variável Binário puro Veja também:
- Características: