Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
costello

Cálculos Binérios

Recommended Posts

Sou novato nesse forum, não sei se você costumam tratar desses assuntos aqui, mas gostaria de saber se alguem poderia me ajudar. Quero saber como o processador realiza as funções de adição, subtração, divizão e multiplicação usando código binário.

Aguardo respostas, (ou não). :unsure::unsure::unsure::unsure::unsure:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em binário...

É como em decimal (adapatando)

a tabuada vira um negócio muito "extenso"

0x0 = 0 0x1 = 0 1x0 = 0 1x1 = 1

então multipluicação e divisão se faz usando a tabuada...

pra somar

1+1 = 0 (vai um) 1+0 = 0+1 = 1 e 0+0 = 0

é simples...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja algumas coisas sobre assebly na net :zoio:

C vai ver como o computador é mei burrin :wacko: !!!

Alias: Ai galera!! quem já mexeu com prolog????? (linguagem de prog.)

Compartilhar este post


Link para o post
Compartilhar em outros sites

No binário nós temos apenas dois algarismos, o 0 e o 1, portanto, vamos dar uma olhada no funcionamento do sistema decimal para entender o binário:

Fazemos a contagem crescente no decimal contando cada um dos algarismos sozinhos:

0, 1, 2, 3, 4, 5, 6, 7, 8 e 9

Quando chegamos no último algarismo, devemos recorrer a dois algarismos, o primeiro algarismo significativo e o algarismo nulo:

0, 1, 2, 3, 4, 5, 6, 7, 8 e 9 <---- o 1 é o primeiro significativo e o 0 é o nulo, portanto:

1 e 0 ---resultado--> 10

No sistema binário, acontece a mesma coisa:

0 e 1 - Terminamos a contagem com um único algarismo, devemos recorrer a dois:

1 e 0 ---resultado--> 10

Portanto, "10" em binário vale "2" em decimal. Agora, vamos converter números decimais em números binários. Suponhamos que eu tenha o número 163, vamos convertê-lo em binário.

Para converter de decimal para binário, dividimos o número por 2 consecutivamente, até terminar a divisão. Depois, pegamos os restos de trás para frente:

163 dividido por 2 = 81 – resto 1

81 dividido por 2 = 40 – resto 1

40 dividido por 2 = 20 – resto 0

20 dividido por 2 = 10 – resto 0

10 dividido por 2 = 5 – resto 0

5 dividido por 2 = 2 – resto 1

2 dividido por 2 = 1 – resto 0

1 dividido por 2 = 0 – resto 1

Pegando os restos de trás para frente, temos:

10100011 – Portanto 10100011 em binário = 163 em decimal

Agora, vamos realizar o caminho inverso, isto é, transformar um binário em decimal.

Para fazer isso, devemos pegar o número binário e multiplicar pelas potências de 2, e depois somamos os resultados:

1 0 1 0 0 0 1 1

x x x x x x x x

_7 6 5 4 3 2 1 0 <-- Potências de 2

2 2 2 2 2 2 2 2

------------------

128+0+32+0+0+0+2+1 = 163

Detalhe: sempre que tivermos números binários com vírgula flutuante, as potências começam a ficar negativas. Por exemplo:

1 0 0 1 0 , 0 1 1

x x x x x x x x

_4 3 2 1 0 -1 -2 -3

2 2 2 2 2 2 2 2

---------------------

16+0+0+2+0 = 18

0+0,25+0,125 = 0,375

Logo: 10010,011 = 18,375

Somando em binário:

1101

+ 10

-----

1111

10011

+ 101

-------

11000

Subtraindo em binário:

1101

- 10

-----

1011

10011

- 101

-------

1110

Multiplicando em binário:

1101

x 10

------

11010 <--- Para multiplicar por 2 (10 em binário), basta adicionar um zero. O processador faz isso por meio de um deslocamento para a esquerda.

10011

x 101

-------

1011111

Dividindo em binário:

11010/10 = 1101

Na divisão, o contrário da multiplicação é válido. Para isso, o processador realiza um deslocamento para a direita.

1011111/101 = 1101

Só tem um problema: não sei como o processador faz tudo isso :(! Só sei o caso da multiplicação e divisão por 2. De qualquer maneira, espero ter ajudado! ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

ou smart: sera q dava pra você explicar essa parte da virgula de novo? é q eu começei minha faculdade de ciencia da computação esse semestre e tenho uma prova de ICC q vai cair isso mas num fui nessa aula,.... valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites
Postado Originalmente por Willin@21 mar 2004, 02:12

ou smart: sera q dava pra você explicar essa parte da virgula de novo? é q eu começei minha faculdade de ciencia da computação esse semestre e tenho uma prova de ICC q vai cair isso mas num fui nessa aula,.... valeu

Assim...

Para um número em base BS os números são representados da seguinte forma

ABC,DEF

quer dizer que o número é

A*BS^2+B*BS^1+C*BS^0+D*BS^-1+E*BS^-2+F*BS^-3

onde ^ = elevado a

um exemplo (em decimal)

12,3

que número é esse? é 1*10^1 + 2*10^0 + 3*10^-1

é a mesma coisa em binário... sóp que em base 2

em binário, que número é esse:

101,01

1*2^2 + 0*2^1 +1*2^0 + 0*2^-1 + 1*2^-2 = 4 + 0 + 1 + 0 + 0.25 = 5.25

Deu pra entender???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×