Você está na página 1de 3

Artur Karimov

Addition and multiplication


in positional numeral
system

Lecture notes

ETU “LETI”, 2022

1
Obviamente, você está familiarizado com operações aritméticas básicas,
como adição, multiplicação, subtração, divisão. Hoje veremos isso a partir de
um sistema numérico posicional.
Para somar números com sucesso, temos que carregar. Vamos considerar
dois números em algum sistema numeral posicional que pode ser escrito como
duas sequências de dígitos - a_i e c_i e o resultado da adição é uma sequência
de l_i dígitos cujo comprimento e valores são desconhecidos. Para calcular o
primeiro dígito devemos adicionar a_0 e c_0. Se a soma for maior que b
devemos subtrair b deles para obter l_0 e «memorizar» um dígito de transporte
q. Quando calculamos o segundo dígito, temos que adicionar o dígito de
transporte à soma de a_1 e c_1. E se esta soma for maior que b então o
carregamento deverá ser feito novamente.
Aqui está outra visão sobre transporte. Vamos supor que fazemos a adição
de dois números, os dígitos l_m anteriores foram calculados, não há nenhum
dígito de transporte da coluna m-1 e a soma de a_m e c_m é maior que b.
Então podemos remover os colchetes e combinar os termos com o
multiplicador b_m+1. Pode-se ver que carry não pode ser maior que um e igual
a um somente se a soma for maior ou igual a b.
Agora podemos descrever o algoritmo de adição. Vamos considerar um
sistema numeral posicional com base b e dois números escritos na base b –
N1 que é representado por uma sequência de dígitos a_i de comprimento n1+1
e N2 que é representado por uma sequência de dígitos c_i de comprimento
n2+1. Vamos denotar o resultado da adição como N3, que é representado por
uma sequência de dígitos l_i de comprimento n3+1. A adição é um processo de
encontrar esses dígitos. Primeiramente, inicializamos a variável auxiliar q que
será um dígito de transporte. Em seguida, encontramos o comprimento
máximo dos números N1 e N2 e escrevemos zeros à esquerda para números
mais curtos.

Na parte principal do algoritmo, somamos pares de dígitos a_i e c_i no loop


for e carregamos o dígito se não for igual a zero. Depois disso, o dígito de

2
transporte é redefinido para zero. Se o resultado for maior que b-1, subtraímos
b de l_i e carregamos. Finalmente, registramos o último dígito como um se o
dígito de transporte for um. Pode-se ver que o comprimento do número N3
pode ser igual apenas a n+1 ou n+2.
Vamos descrever o algoritmo de multiplicação. Vamos considerar um
sistema numeral posicional com base b e dois números escritos na base b –
N1 que é representado por uma sequência de dígitos a_i de comprimento n1+1
e N2 que é representado por uma sequência de dígitos c_i de comprimento
n2+1. Vamos denotar o resultado da adição como N3, que é representado por
uma sequência de dígitos l_i de comprimento n3+1. Inicializamos a variável
auxiliar k que será utilizada para memorizar uma parte de um número maior
que b.
Na parte principal do algoritmo, multiplicamos o número N1 pelos dígitos
c_j no loop for externo e multiplicamos os dígitos a_i por c_j no loop interno.
No dígito seguinte registramos o resto da divisão a_i * c_j+k em b e na variável
k registramos quocientes. Registramos o último dígito como k se a variável k
for maior que um
Por fim, somamos todos os números n2+1 resultantes por simples adição.
Existem vários métodos para multiplicação manual. Um deles é uma
multiplicação de grade. Primeiro, os números são particionados em unidades,
“dezenas” , “ milhares” e mais. A seguir, os produtos das partes são calculados
e somados. Zeros podem ser adicionados ao produto após a multiplicação. Por
exemplo – para multiplicar 100 e 50 estamos multiplicando 5 por 1, obtendo
5 e somando três zeros. Para multiplicar 50 e 30 estamos multiplicando 5 e 3,
obtendo 21 (lembre-se que trabalhamos em sistemas posicionais de base 7) e
somando dois zeros. Para multiplicar 50 por 2 estamos multiplicando 5 por 2,
obtendo 13 e somando um zero. A soma dos números na tabela é 11415, o que
pode ser provado usando um algoritmo de adição. Apesar disso podemos
assumir que a multiplicação em diferentes sistemas numéricos não é tão
simples e mais sensato é o uso de programas de computador .

Você também pode gostar