Explicacao Algoritmos Nif Nib

download Explicacao Algoritmos Nif Nib

of 2

Transcript of Explicacao Algoritmos Nif Nib

  • Elaborado pelo docente Paulo Pinheiro - cadeira de Ambiente de Desenvolvimento (Curso Eng. Inf. 4 ano)

    MTODO DE CLCULO DO CHECK DIGIT DO NMERO DE CONTRIBUINTE (NIF)

    Multiplique:

    8. dgito por 2

    7. dgito por 3

    6. dgito por 4

    5. dgito por 5

    4. dgito por 6

    3. dgito por 7

    2. dgito por 8

    1. digito por 9

    Some os resultados

    Calcule o resto da diviso do nmero por 11.

    Se o resto for 0 ou 1, o dgito de controle ser 0

    Se for outro algarismo x, o dgito de controle ser o resultado de 11 x

  • Elaborado pelo docente Paulo Pinheiro - cadeira de Ambiente de Desenvolvimento (Curso Eng. Inf. 4 ano)

    MTODO DE CLCULO DO CHECK DIGIT DO NMERO DE IDENTIFICAO BANCRIA (NIB)

    O NIB composto por 21 dgitos:

    Os primeiros 4 para designar o Banco

    os 4 seguintes para o balco

    os 11 seguintes para a conta

    os ltimos dois so os dgitos de controle

    MODO DE CLCULO:

    Substitua os dois dgitos de controle por dois zeros

    Calcule o resto da diviso desse nmero por 97

    Subtraia de 98 ao nmero obtido e ter os dgitos de controle

    Se o nmero tiver um s algarismo, acrescente-lhe um 0 esquerda.

    Outra explicao do NIB, com a tabela de transformao de caracteres

    Caracter Nmero correspondente

    0 0

    1, A, J 1

    2, B, K, S 2

    3, C, L, T 3

    4, D, M, U 4

    5, E, N, V 5

    6, F, O, W 6

    7, G, P, X 7

    8, H, Q, Y 8

    9, I, R, Z 9

    A validao de um NIB pode ser calculada atravs do seu algarismo de controlo.

    A primeira etapa consiste em substituir os algarismos por letras.

    Para realizar a transformao, basta colocar em base 36 (base 10 + 26 letras,

    0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ) e aplicar o clculo seguinte a cada caracter (transformado em

    nmero currentCharValue) e depois substitui-lo pelo nmero resultante:

    currentCharValue + 2^{\frac{currentCharValue-10}9}\pmod{10}