Olá!
Para os sistemas realizam cálculos de valores que abrangem uma grande quantidade de dados, ou também, para aqueles que possuem a necessidade de trabalhar com várias casas decimais, há sempre a preocupação quanto a declaração variável numérica; qual o tipo de dado?; tamanho?; com ou sem sinal?; São algumas questões sobre a variável a ser declarada.
Nos sistemas bancários por exemplo, pode ser facilmente visto a declaração de uma variável numérica da seguinte forma: PIC S9(15)V9(02).
Nossa, é realmente necessária uma variável com 17 posições? Sim. Pense no faturamento de um banco de proporção mundial. Então, possivelmente somente 2 posições após o ponto flutuante não serão suficientes, assim, alguns sistemas precisam trabalhar com variáveis com mais de 17 posições.
- Itens computacionais: é um valor usado em operações aritméticas. Deve ser numérico. E um item de grupo denominado como item computacional, possui os seus elementos numéricos.
No Cobol os itens computacionais possuem o comprimento padrão de 18 dígitos decimais, exceto para um item PACKED-DECIMAL que pode conter o comprimento máximo de 31 dígitos decimais.
O comprimento de um item PACKED-DECIMAL pode variar de acordo com a opção do compilador que estiver em vigor. Sendo, se a opção ARITH(COMPAT) estiver ativa o item PACKED-DECIMAL possui o comprimento máximo de 18 dígitos decimais, caso a opção ARITH(EXTEND) for ativada o comprimento máximo do item PACKED-DECIMAL passa a ser de 31 dígitos decimais.
A declaração (PIC - PICTURE) de um item computacional pode conter apenas S9VP, conforme:
S - Um sinal operacional
9 - Uma ou mais posições numéricas de caracteres
V - Um ponto decimal implícito
P - Uma ou mais posições de escala decimal
Exemplo: PIC S9(15)V9(02)
Observação: itens COMP-1 e COMP-2 items não possuem PICTURE, pois utilizam ponto flutuante interno com precisão.
Observação: itens COMP-1 e COMP-2 items não possuem PICTURE, pois utilizam ponto flutuante interno com precisão.
A quantidade de armazenamento ocupada por um item binário depende do número de dígitos decimais definidos em sua cláusula PICTURE, veja na tabela abaixo:
Dígitos na cláusula PIC | Armazenamento ocupado |
S9(01) até S9(04) | 2 bytes (halfword) |
S9(05) até S9(09) | 4 bytes (fullword) |
S9(10) até S9(18) | 8 bytes (doubleword) |
Veja também a comparação dos tamanhos de tipo de dado no post: Conversão de tipo de dado.
FELIPE BARBOSA FERREIRA
Até o próximo post!
Nenhum comentário:
Postar um comentário