COBOL - Conditional expressions - Alphanumeric comparisons
Uma comparação alfanumérica é uma comparação dos valores de caracteres de byte único de dois operandos.
Quando um dos operandos não é alfanumérico nem alfabético de classe, esse operando é processado da seguinte maneira:
Quando a opção do compilador ZWB está em vigor, o valor não assinado do operando inteiro é movido para o item de dados temporário. Quando a opção do compilador NOZWB é especificada, o valor assinado é movido para o item de dados temporário. Consulte ZWB para obter mais detalhes sobre a opção do compilador ZWB (NOZWB).
A comparação prossegue com o item de dados temporário da categoria alfanumérica.
As comparações alfanuméricas são feitas com relação à sequência de intercalação do conjunto de caracteres em uso da seguinte forma:
O tamanho de cada operando é o número total de posições de caracteres nesse operando; o tamanho afeta o resultado da comparação. Há dois casos a serem considerados:
Se todos os pares de caracteres do último par forem avaliados como iguais, os operandos serão iguais.
Se um par de caracteres desiguais for encontrado, os caracteres serão testados para determinar suas posições relativas na sequência de intercalação. O operando que contém o caractere mais alto na sequência é considerado o operando maior.
O valor de intercalação mais alto é determinado usando o valor hexadecimal de caracteres.