O algarismo que aparece a seguir ao número do bilhete de identidade nada mais é que um dígito de controlo, servindo apenas para detectar possíveis erros na escrita do número.
O algarismo de controlo é calculado a partir do número de identificação do seguinte modo:
(9a + 8b + 7c + 6d + 5e + 4f + 3g + 2h + C) mod 11 = 0
onde C é o algarismo de controlo, a é o 1º algarismo do número do BI, b é o 2º, c é o 3º e assim sucessivamente. Aos números de BI que tiverem menos de oito algarismos, deverão ser acrescentados à esquerda os zeros necessários. Por exemplo, o número 123456 deve ser encarado como 00123456.
Então, C é o número que somado a 9a + ... + 2h dá origem a um múltiplo de onze, ou seja, o número C é escolhido de modo a que 9a + ... + 2h + C dê resto zero quando dividido por onze. Assim, o algarismo de controlo pode tomar o valor 0 (quando a divisão de 9a + ... + 2h por onze tiver resto zero), o valor 1 (quando a divisão de 9a + ... + 2h por onze tiver resto 10) e assim sucessivamente até chegarmos ao valor 10 (quando a divisão tiver resto 1).
Surge, então, um problema: pretende-se um número de controlo que seja composto por apenas um algarismo, mas C pode ser 10. O que fazer então? Uma das soluções possíveis é a aplicada pelo ISBN (International Standard Book Number) – o número de identificação de cada livro e que usa um sistema semelhante ao do BI – que é substituir o número de controlo 10 pela letra X (10 em numeração romana). Deste modo, consegue-se usar apenas um caractere para cada número de controlo.
E no BI? Neste caso resolveu-se pura e simplesmente cortar o algarismo um ao número dez. Assim, é impossível saber se um número de BI cujo algarismo de controlo é 0 tem algum erro ou não, pois esse algarismo tanto pode significar 0 como 10. E assim foi por água abaixo a utilidade do sistema de controlo que se pretendia implementar.