IBM FileNet P8, Version 5.2.1            

Funções Numéricas

Esta seção contém breves descrições das funções que se aplicam aos valores flutuantes ou de número inteiro.

Tabela 1. Tabela de funções que se aplicam aos valores flutuantes ou de número inteiro
Função O que ela faz
abs Retorna o valor absoluto da função numérica.
bitor, bitand, bitnot Fornece a manipulação booleana de bits.
convert Converte um número em outro tipo de dados ou converte outro tipo de dados em um número.
err_encode Converte uma tupla de erro do FileNet P8 de três partes em um número inteiro de uma única parte.
int Trunca tudo depois do ponto decimal e retorna o valor de número inteiro de uma expressão numérica.
max Retorna o maior valor em uma lista de expressões de qualquer tipo de dados suportado.
min Retorna o menor valor de uma lista de expressões de qualquer tipo de dados suportado.
mod Retorna o restante após a divisão (módulo).
numbertostring Converte uma expressão numérica em uma expressão de cadeia, utilizando uma máscara especificada.
Aleatório Retorna um número inteiro aleatório dentro de um intervalo.
sizeof Retorna o tamanho de uma matriz.

abs

Esta função retorna o valor absoluto de uma expressão de número inteiro ou flutuante. Use a sintaxe a seguir:
abs (num_expr)
em que num_exp é uma expressão cujo resultado é do tipo número inteiro ou flutuante. Por exemplo:
abs (SalePrice - PurchasePrice)

bitand, bitor e bitnot

Essas funções fornecem a manipulação booleana de bits. Use-as para executar muitas tarefas, como configuração de mascaramento e extração de bits. Cada uma dessas funções pode executar operações booleanas em até 32 itens ao mesmo tempo.

Se estiver familiarizado com a linguagem de programação 'C', então bitand, bitor e bitnot são como um "e" lógico (&), "ou" lógico (|) e "não" lógico (~), respectivamente. Se não estiver familiarizado com a linguagem 'C', considere os números como valores binários (por exemplo, 123 será 1111011).

Essas funções assumem números inteiros de 32 bits (ou seja, de 0 a 42946967295) como entrada e retornam inteiros no mesmo intervalo como saída. Use a sintaxe a seguir:
bitand (expr1, expr2)

bitor (expr1, expr2)

bitnot (expr)
em que expr1 e expr2 são números inteiros de 32 bits.
Para obter informações específicas e exemplos de cada função, selecione um tópico na lista a seguir.

bitand

A função bitand "ands" compara bits correspondentes em dois números inteiros. Essa é uma comparação de bit por bit, sendo que o resultado é a saída de um novo número inteiro. A comparação segue estas regras:
  • Se ambos os números inteiros contiverem 1 na mesma posição, o número inteiro resultante também conterá 1 nessa posição.
  • Se ambos os números inteiros contiverem 0 na mesma posição, o número inteiro resultante também conterá 0 nessa posição.
  • Se um número inteiro contiver 1 e outro número inteiro contiver 0 na mesma posição, o número inteiro resultante conterá 0 nessa posição.
Por exemplo, bitand (123, 240) pode ser visualizado da seguinte forma.
bitand

     (00000000000000000000000001111011,
         

      00000000000000000000000011110000)
          

  resultados em: 
      00000000000000000000000001110000

bitor

A função bitor "ors" compara bits correspondentes em dois números inteiros. O resultado dessa comparação de bit por bit é a saída de um novo número inteiro. A comparação segue estas regras:
  • Se o número inteiro contiver um 1 na mesma posição, o número inteiro resultante também conterá um 1 nessa posição.
  • Se ambos os números inteiros contiverem 0 na mesma posição, o número inteiro resultante também conterá 0 nessa posição.
Para exemplo, bitor (123, 240) pode ser visualizado da seguinte forma.
bitor
     (00000000000000000000000001111011,
         
      00000000000000000000000011110000)
          
  resultados em:

      00000000000000000000000011111011

bitnot

A função bitnot "nots" compara um número inteiro; o resultado dessa análise de bit por bit é a saída de um novo número inteiro. Para cada posição, o novo número inteiro contém o valor de bit oposto significando, por exemplo, se o número inteiro da entrada contiver um 1 em uma determinada posição, o novo número inteiro conterá um 0 na mesma posição.

Por exemplo, bitnot (123) pode ser visualizado da seguinte forma.
bitnot
              (00000000000000000000000001111011
  resultados em:
               11111111111111111111111110000100

int

Esta função calcula o valor de número inteiro de uma expressão flutuante truncando tudo após o ponto decimal. Por exemplo, os valores flutuantes 6.2 e 6.8 são convertidos no valor de número inteiro 6. O sinal do número não muda.

Use a sintaxe a seguir:
int (num_expr)
em que num_expr é uma expressão cujo resultado é do tipo flutuante. Por exemplo:
int (365 / 7)

mod

Esta função retorna o restante após a divisão (módulo). Observe que se você tentar dividir um valor por zero, ocorre um erro de tempo de execução.

Use a sintaxe a seguir:
mod (num1, num2)
em que num1 e num2 são variáveis de tipo flutuante ou número inteiro e podem conter valores negativos.
No exemplo a seguir, a função retorna o restante da divisão de NumberOfDays por 7.
mod (NumberOfDays, 7)
Observe que o sinal de num2 determina o sinal da saída da função mod (quando a saída não for igual a 0):
Se num2 > 0,

		0 <= mod (num1, num2) < num2

Se num2 < 0,

		num2 < mod (num1, num2) <= 0

Aleatório

Alguns aplicativos precisam de uma forma de gerar um número inteiro aleatório, possivelmente como um meio de executar a amostragem aleatória. Esta função retorna um número inteiro aleatório dentro de um intervalo especificado. Ela exigem um número inteiro como um parâmetro para determinar o intervalo.

Use a sintaxe a seguir:
random (num)
em que num é um número inteiro de 2 a 32768 (inclusive ambas as extremidades). O intervalo está entre 0 e num - 1. No exemplo acima, se num fosse 23, o número inteiro aleatório poderia ficar entre 0 e 22.

err_encode

Esta função converte uma tupla de erro do FileNet P8 de três partes em um valor de número inteiro, que você pode comparar com um código de resultado retornado por uma chamada para um ponto de entrada WorkFlo Application Libraries (WAL). A WAL retorna códigos de resultado quando ocorrem condições de exceção no processamento normal (como final de arquivo em processamento de dados simples) ou quando ocorrem erros.

O uso primário para err_encode é no processamento subsequente de base de um item de trabalho nos resultados retornados por uma operação que chama WAL. Tipicamente, uma operação dessas é seguida por uma Instrução de sistema Ramificação. Quando a Ramificação é executada, o item de trabalho segue o caminho do processamento determinado pelo código de resultado que a operação anterior retornou. Por exemplo, utilize a função err_code na definição Ramificação para indicar que se o <código de retorno> = err_encode (80, 0, 2), o item de trabalho segue um caminho do processamento, enquanto que ele segue outro caminho do processamento se o <código de retorno> = err_encode (80, 0, 5).

Use a sintaxe a seguir:
err_encode (mod_num, func_num, err_num)
em que:
Tabela 2. Parâmetros e Descrição da Função err_encode
Parâmetro Descrição
mod_num A primeira parte do código de resultado. Ela é uma expressão de números inteiros (variando de 0 a 255) que indica que o serviço, a biblioteca ou o aplicativo é a origem do erro.
func_num A segunda parte do código de resultado. Ela é uma expressão de números inteiros (variando de 0 a 255) que indica a função ou o módulo que origina o erro, ou a categoria a qual o erro pertence.
err_num A terceira parte do código de resultado. Ela é uma expressão de números inteiros (variando de 0 a 65535) que indica o número do erro.


Last updated: March 2016
bpfe010.htm

© Copyright IBM Corporation 2016.