Está en la página 1de 12

Técnicas Digitais

Aula 05

PROF. ROBERTO KENJI HIRAMATSU


ROBERTO.HIRAMATSU@UFRPE.BR
Aritmética binária

DIVISÃO BINÁRIA
Divisão binária

 Exemplo:

110111 |101 1001011 |111


101 1011
111
101
101

 A divisão não é implementada em hardware na maioria dos


microcontroladores simples como o ATMega328 (microcontrolador do
Arduino R3)
Multiplica 2 números
de 8bits para gerar 1
de 16 bits

 O que se recomenda?
 Transformar frações em multiplicações fracionárias com operações de ponto fixo
Introdução ao ponto fixo e
ponto flutuante
Ponto flutuante
 Padronização IEEE 754

 s  representa sinal
 m  mantissa que representa a parte fracionária do número
 1  quando número é valido o MSB da mantissa e sempre 1 -> quando zero e m=0 indica erro
 e  é o expoente do número
 b  é o valor do deslocamento pois o expoente não tem sinal
 32 bit (float nas linguagens C,C++,Java,C#)
 s  1 bit
 m 23 bits
 e  7 bits
 b  tem valor 127
 -3.4E+38 a +3.4E+38
 64 bit (double nas linguagens C,C++,Java,C#)
 s  1 bit
 m  52 bits
 e  11 bits
 b  tem valor 1023
 -1.7E+308 a +1.7E+308
 Expoente com todos bits igual a 1 indica infinito ou estouro de valor
Ponto flutuante

 A padronização IEEE 754:


 Também padroniza as operações como arredondamento e
operadores matemáticos e trigonométricos
 Normalmente é implementado em hardware
 O que acontece quando não e implementado?
 O desempenho e muito lento em dispositivos que não tem
implementado em hardware que e o caso da maioria dos
microcontroladores de baixo custo.
Ponto Fixo

 O ponto fixo nada mais é manipular números reais


usando inteiros, convertendo parte fracionária
 Apresenta eficiente de processamento se comparado ao uso de
hardware de ponto flutuante
 O programador deve analisar o número de bits da parte fracionária a
ser manipulada que não afete o desempenho da aplicação
 Existem hardwares dedicados chamados DSP (Digital Signal
Processor) que manipulam operação com ponto fixo.
 Normalmente, são aplicados em processamento de áudio e vídeo e
sistemas de controle de malha fechada, por exemplo.
 Usam notação Qn.m que indicam o formato usado onde n e o número
de bits ou dígitos da parte inteira e m o número na parte fracionária
 Existem processamento com base 10 ou binária.
 O formato binário é mais comum e é mais eficiente, pois permite
manipular por deslocamento a posição da parte fracionária quando
precisa normalizar ou reposicionar a parte fracionária.
Exercícios

 Considerando um sistema que trabalha 32 bits e não


tem divisão em hardware. Proponha um forma de
dividir um número de 10 bits por 10 que apresente a
maior eficiência de execução.
ARITMÉTICA HEXADECIMAL
Aritmética Hexadecimal

 Similar a decimal – deve-se trabalhar no contexto de


16 símbolos
 Para não ficar “decorando” a tabela de soma, subtração ou
multiplicação pode-se converter em decimal e depois em
hexadecimal no tratamento de soma ou subtração
1 9 16

1A6 1A6
+ 2B - 2B
------ ------
1D1 17B

 Outra forma e converter em binário para realizar o tratamento


Aritmética Hexadecimal

B4
B4 10110100
x 2B
x 2B x 00101011
------
------ --------------------- 1E3C
1 1
?
1010110100
1 1010110100

10110100
10110100
---------------
1111000111100
Bibliografia

 TOCCI Ronald J. e WIDMER Neal S. Sistemas


Digitais – Princípios e Aplicações, 11 ed. São Paulo:
Person, 2012 – Capítulo 6
 Khan, Shoab Ahmed. Digital Design of Signal
Processing Systems : A Practical Approach, John
Wiley & Sons, Incorporated, 2011. ProQuest Ebook
Central,
 http://ebookcentral.proquest.com/lib/ufrpe-
ebooks/detail.action?docID=661740.

También podría gustarte