Considere o algoritmo em pseudocódigo abaixo.
var numero, decimal: inteiro
binario: caracter
inicio
imprima "Digite um numero inteiro"
leia numero
decimal ← numero
enquanto (numero > 0) faça
se (numero mod 2 = 0)
então
binario ← "0" + binario
senão
binario ← "1" + binario
fim_se
numero ← numero div 2
fim_enquanto
imprima "O numero ", decimal, " em binario = ", binario
fim
De acordo com os fundamentos da aritmética computacional e com o pseudocódigo acima,
a conversão de números decimais negativos para binários também é realizada de forma correta pelo algoritmo.
o número de dígitos em hexadecimal necessários para representar o binário resultante corresponde ao número de vezes que o comando enquanto é executado.
mod indica o quociente e div indica o resto da divisão de numero por 2.
ao ser transcrito para uma linguagem de programação sem alteração na lógica do algoritmo, poderão ocorrer erros na conversão de números decimais para binários.
para fazer a conversão do binário resultante para seu correspondente negativo basta utilizar o comando binario ← binario * -1.