Lógica Combinacional Aula 01 Sistema de Numeração Felipe S. L. G. Duarte Felipelageduarte+fatece@gmail.com
Sistema de Numeração Um numeral é um símbolo ou grupo de símbolos que representa um número em um determinado instante da evolução do homem. Os símbolos 11 e XI são numerais diferentes, representarvos do mesmo número. Um sistema de numeração, (ou sistema numeral) é um sistema em que um conjunto de números são representados por numerais de uma forma consistente. Pode ser visto como o contexto que permite ao numeral "11" ser interpretado como o numeral romano para dois, o numeral binário para três ou o numeral decimal para onze. 2
Sistema de Numeração Em condições ideais, um sistema de numeração deve: 1. Representar uma grande quanrdade de números úteis (ex.: todos os números inteiros, ou todos os números reais); 2. Dar a cada número representado uma única descrição (ou pelo menos uma representação padrão); 3. RefleRr as estruturas algébricas e aritmércas dos números. 3
Sistema de Numeração Em condições ideais, um sistema de numeração deve: 1. Representar uma grande quanrdade de números úteis (ex.: todos os números inteiros, ou todos os números reais); 2. Dar a cada número representado uma única descrição (ou pelo menos uma representação padrão); 3. RefleRr as estruturas algébricas e aritmércas dos números. 4
Sistema Binário!!! MAIS IMPORTANTE!!! No sistema binário de numeração, existem apenas 2 algarismos: algarismo 0 (zero) algarismo 1 (um) Dec Bin 0 0 1 1 2 10 3 11 4 100 5 101 6 110 7 111 1 digito - > 1 bit (binary digit) 4 bits - > 1 nibble 8 bits - > 1 byte 1024 bytes - > 1 Kbytes 1024 kb - > 1 Mbytes 1024 Mb - > 1 Gbytes 1024 Gb - > 1 Tbytes 1024 Tb - > 5
Conversão Decimal - > Binário #include<stdio.h> #include<stdlib.h> void dectobin(int dec){ if((dec/2) == 0) { printf("%d",dec); return; } dectobin(dec/2); printf("%d", dec%2); } int main(int argc, char *argv[]){ int dec; printf("forneça o num. decimal: "); scanf("%d",&dec); printf("binario: "); dectobin(dec); printf("\n"); } return 0; 6
Conversão Binário - > Decimal 7
Sistema Octal O Sistema octal de numeração é um sistema de base 8 no qual existem 8 algarismos assim enumerados: Dec Oct 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 10 9 11 Dec Oct 10 12 11 13 12 14 13 15 14 16 15 17 16 20 17 21 18 22 19 23 8
Conversão Decimal - > Octal 9
Conversão Octal - > Decimal 10
Sistema Hexadecimal O Sistema hexadecimal possui 16 algarismos, sendo sua base igual a 16. Os algarismos são assim enumerados: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F Dec Hex 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 Dec hex 10 A 11 B 12 C 13 D 14 E 15 F 16 10 17 11 18 12 19 13 11
Conversão Decimal - > hexadecimal 12
Conversão Hexadecimal - > Decimal 13
Conversões binário - > Octal 14
Conversões binário - > Hexadecimal 15
Conversão entre sistemas numéricos MulRplicação e Soma Divisões Sucessivas Decimal Divisões Sucessivas MulRplicação e Soma Hexadecimal MulRplicação e Soma Divisões Sucessivas Octal Divisões Sucessivas Divisões Sucessivas Agrupamento 4 bits por algarismo Binário Agrupamento 3 bits por algarismo 16
Resumindo. 17
Adição no sistema Binário??? LEMBRA DA API??? Para efetuarmos adição no sistema binário, devemos agir como numa adição convencional no sistema decimal, lembrando que, no sistema binário, temos apenas 2 algarismos. Temos então: Convém observar que no sistema decimail 1+1=2 e no sistema binário representamos o número 2 por 10. Pela operação realizada notamos a regra de transporte para a próxima coluna: 1+1=0 e transporta 1 vai um. A operação de transporte também é denominada carry, termo derivado do inglês. 18
Subtração no sistema Binário??? LEMBRA DA API??? O Método de resolução é análogo a uma subtração no sistema decimal. Temos então: Observamos que para o caso 0-1, o resultado será igual a 1, porém haverá um transporte para a coluna seguinte que deve ser acumulado no subtraendo e, obviamente, subtraído do minuendo. 19
Números Binários NegaRvos??? LEMBRA DA API??? A representação de números binários posirvos e negarvos pode ser feita urlizando- se os sinais + e respecrvamente (como no sistema decimal). Na prárca, porém, em hardware dos sistemas digitais que processam operações aritmércas, microcomputadores por exemplo, estes sinais não podem ser urlizados, pois tudo deve ser codificado em 0 ou 1. Uma forma de representar em alguns casos urlizada, é a de acrescentar ao número um bit de sinal colocado à esquerda, na posição de algarismo mais significarvo. Se o número for posirvo, o bit de sinal será 0, se o número for negarvo este será 1. Este processo de representação é denominado Sinal- módulo. +100011 = 0100011-1001001 = 11001001 20
Números Binários NegaRvos??? LEMBRA DA API??? Uma outra forma para representar número binários negarvos bastante urlizada nos sistemas já citados é a notação do complemento de 2, mas para obtê- la, devemos primeiramente converter o número na notação do complemento de 1, conforme se segue. A obtenção do complemento de 1 de um número binário se dá pela troca de cada bit do número pelo seu inverso ou complemento. Para demonstrar esse procedimento, vamos obter o complemento de 1 do número 10011011. Assim sendo, temos: Número Binário: Complemento de 1: 1 0 0 1 1 0 1 1 0 1 1 0 0 1 0 0 21
Números Binários NegaRvos??? LEMBRA DA API??? A notação do complemento de 2, como já dissemos, é urlizada para representar números binários negarvos. Sua obtenção se dá somando- se 1 ao complemento de 1 do número binário inicial. Para exemplificar, vamos representar o número - 11001101 na notação do complemento de 2: Número Binário: Complemento de 1: Complemento de 2: 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0 + 1 ------------------ 0 0 1 1 0 0 1 1 22
Números Binários NegaRvos??? LEMBRA DA API??? Convém observar que estas representações, por serem urlizadas no hardware de sistemas, possuem sempre um número predefinido de bits, não devendo ser desconsiderado nenhum deles na resposta. No exemplos já vistos, urlizadmos números com 8 bits. Nota- se que os números posirvos na notação do complemento de 2 recebem representação normal, idênrca à do sistema binário. Nos sistemas digitais, para se efetuar uma diferenciação, urliza- se da mesma forma, um bit de sinal a mais que colocado à esquerda do número, indica se este é posirvo (bit sinal = 0) ou se este é negarvo (bit sinal = 1), estando na notação do complemento de 2. Um outro ponto, de grande importância, a ser abordado é a conversão inversa, i.e., a passagem do número na notação do complemento de 2 para a notação binária normal. O processo é simples, bastando determinarmos novamente o complemento de 2 do resultado. 23
Complemento de 2 em Operações AritméRcas??? LEMBRA DA API??? Podemos urlizar a notação do complemento de 2 para efetuar operações diversas que envolvam soma ou subtração. De maneira geral, podemos condiderá- las como operações de soma envolvendo números posirvos e negarvos, ou ainda entre números quaisquer, obtendo uma resposta apropriada conforme a situação. Para solucionar qualque operação destas, basta determinar o complemento de 2 do número negarvo envolvido, com o mesmo número de bits do outro membro da operação e realizar a soma, desconsiderando, se houver, o estouro do número de bits no resultado. A xtulo de exemplo, vamos efetuar a operação 11010111 100101. Notamos que esta operação equivale à soma de um número binário posirvo com outro negarvo: N1 + (- N2). Como vimos, a solução se dá determinando o complemento de 2 do segundo (negarvo) com mesmo número de bits do primeiro, efetuando a soma e eliminando o bit em execesso. 24