COBOL - Statement operations - ROUNDED phrase



Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

COBOL - Statement operations - ROUNDED phrase
Enterprise COBOL for z/OS, V4.2, Language Reference

Após o alinhamento do ponto decimal, o número de casas na fração do resultado de uma operação aritmética é comparado com o número de casas fornecidas para a fração do identificador resultante.

Quando o tamanho do resultado fracionário excede o número de locais fornecidos para seu armazenamento, o truncamento ocorre, a menos que ROUNDED seja especificado.
Quando ROUNDED é especificado, o dígito menos significativo do identificador resultante é aumentado em 1 sempre que o dígito mais significativo do excesso for maior ou igual a 5.

Quando o identificador resultante é descrito por uma cláusula PICTURE que contém Ps mais à direita e quando o número de locais no resultado calculado excede o número de posições inteiras especificadas, o arredondamento ou o truncamento ocorrem em relação à posição inteira à direita para a qual o armazenamento está alocado.

Em uma operação aritmética de ponto flutuante, a frase ROUNDED não tem efeito; o resultado de uma operação de ponto flutuante é sempre arredondado.
Para obter mais informações sobre expressões aritméticas de ponto flutuante, consulte Fixed-point contrasted with floating-point arithmetic no Enterprise COBOL Programming Guide.

Quando a opção do compilador ARITH (EXTEND) está em vigor, a frase ROUNDED não é suportada para receptores aritméticos com posições de 31 dígitos à direita do ponto decimal.<
Por exemplo, nem X nem Y abaixo são válidos como um receptor com a frase ROUNDED:

       01  X PIC V31.
       01  Y PIC P(30)9(1).
       . . .
           COMPUTE X ROUNDED = A + B
           COMPUTE Y ROUNDED = A - B

Caso contrário, a frase ROUNDED é totalmente suportada para instruções aritméticas de precisão estendida.



© Copyright IBM Corp.