COMP

  • Atualizado
  • Publicado em cobol
  • 3 minutos de leitura

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 a S9(4): 2 bytes.
    • PIC S9(5) a S9(9): 4 bytes.
    • PIC S9(10) a S9(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 ao COMP, 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 do COMP 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: