HARDWARE SISTEMA NUMÉRICO Wagner de Oliveira E CODIFICAÇÃO SUMÁRIO Sistemas de Numeração Base de um Sistema Notação Posicional Sistema Binário (Base dois) Sistema Hexadecimal (Base 16) Codificação BCD ASCII UNICODE Relação de grandezas SISTEMAS DE NUMERAÇÃO Sistema de numeração é o conjunto de regras que nos permite escrever e ler qualquer número, utilizando para isto símbolos básicos. Os símbolos que utilizamos (os algarismos de 0 a 9) são apenas convenções para serem utilizadas em sistemas numéricos, sendo que poderiam ser utilizados letras, símbolos geométricos ou qualquer outra simbologia. BASE DE UM SISTEMA A quantidade de símbolos necessários para representar números em um sistema de numeração é igual ao valor da base deste sistema. Assim, quando falamos em base 10, estamos pensando na formação de conjuntos com dez elementos, isto é, dada uma coleção de objetos, procuramos saber quantos conjuntos de 10 podem ser formados. NOTAÇÃO POSICIONAL Dado um número, seu valor é calculado de acordo com a base do sistema e a posição que cada potência algarismo ocupa com sua correspondente. Um número no sistema de base decimal pode ser decomposto em uma soma de potências de base 10. E assim para cada sistema de numeração, com sua base correspondente. NOTAÇÃO POSICIONAL Ex.: 1998 e 9198 A posição dos algarismos determina a diferença de valor. Processo de Soma de Potências (de 10 – Base decimal) 11000 9100 1 9 910 81 9 8 1000+900+90+8 = 1998 PRINCIPAIS SISTEMAS DE NUMERAÇÃO: Decimal 0 1 2 3 4 5 6 7 8 9 Binário 0 1 Hexadecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F OUTROS... Um sistema de base 12, é aquele que forma conjuntos de doze elementos. É nessa base que costumeiramente se contam as (em dúzias) as frutas, os ovos etc. A contagem do tempo, desde os antigos babilônios, é feita na base sessenta (o conjunto de sessenta segundos constitui um minuto) A civilização Maia, da América Central, usava a base vinte para a contagem de seus objetos Os computadores utilizam a base dois... SISTEMA BINÁRIO (BASE DOIS) Utilizado por sua fácil representação eletrônica. Possui apenas dois símbolos (0 ou 1): “Aberto” e “fechado” “Com corrente” e “sem corrente”. Bit (BInary digiT) : 0, 1 Nibble: Conjunto de 4 bits Byte: Conjunto de 8 bits Palavra (word): Conjunto de bytes Palavra do processador: Conjunto de bytes que podem ser manipulados por um processador de uma única vez SISTEMA BINÁRIO (BASE DOIS) Para não haver confusão entre os sistemas, já que os símbolos são basicamente os mesmos, usase um índice que indica a que sistema o número pertence. A ausência do índice indica o Sistema Decimal. 210 Dois na base dez 32 Sistema decimal Três na base dois Sistema binário 416 Quatro na base hexadecimal Sistema hexadecimal SISTEMA BINÁRIO (BASE DOIS) A conversão Decimal - Binário Divisões sucessivas; Levando-se em conta as potências referentes a cada posição, e relacionando-as com 1s e 0s conforme o número a ser representado; SISTEMA BINÁRIO (BASE DOIS) Converter 10 para Binário 10 2 0 5 1 2 2 0 2 1 1 28 27 0 0 10 = 10102 Processo(divisões sucessivas): divide-se por 2 com quociente inteiro, sucessivamente até que o quociente seja igual a 0. Os restos da divisão, de trás para frente, formam o binário. 2 0 26 0 25 0 24 0 23 1 22 0 21 1 20 0 Processo (potências): Utilizar as potências de 2 (2º = 1, 21 = 2, 22 = 4, etc.) para converter o número. Lembrar de trabalhar com as casas da esquerda para a direita, preenchendo com 1 as mais próximas ao número decimal e com 0 as que extrapolarem o valor necessário para se atingir o número decimal. Mostrar que os valores de cada casa são os valores das potências. SISTEMA BINÁRIO (BASE DOIS) Converter 107 para Binário 107 2 1 53 1 2 26 0 2 13 1 Resultado obtido: 11010112 2 6 0 2 3 1 2 1 1 2 0 28 27 26 25 24 23 22 21 20 0 0 1 1 0 1 0 1 1 SISTEMA HEXADECIMAL (BASE 16) Cada dígito em hexadecimal equivale a quatro dígitos binários. É utilizado para endereçamento de portas, endereçamento interno, etc. Utiliza letras como símbolos adicionais. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F Representação de números binários grandes Exemplo: AF316 ou AF3h SISTEMA HEXADECIMAL (BASE 16) Também é facilmente convertido para binário. A conversão do sistema hexadecimal para qualquer outra base deve ser feita através do sistema binário. Sempre levando em conta que cada dígito hexadecimal corresponde a 4 dígitos binários SISTEMA HEXADECIMAL (BASE 16) Decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Binário 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Hexadecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F SISTEMA HEXADECIMAL (BASE 16) Converter 107 para Hexadecimal 107 2 1 53 1 2 26 0 2 13 1 Resultado obtido: 11010112 2 6 0 2 3 1 (0110) (1011)2 = 6B 2 1 1 2 0 SISTEMA HEXADECIMAL (BASE 16) Converter 134 para Hexadecimal 1º Passo: 134 para binário Resultado obtido: 10000110 2 2º Passo: 10000110 2 para Hexadecimal (1000)(0110)2 = 8616 CODIFICAÇÃO Conjunto de sinais binários que permite associar um caractere (números, letras, pontuação, etc) Códigos utilizados em circuitos eletrônicos de comunicação BCD (Binary Coded Decimal) ASCII (American Standart Code for Information Interchange) UNICODE CODIFICAÇÃO BCD (Binary Coded Decimal) Codifica o sistema decimal em binário; Codifica os algarismos de 0 a 9; Cada dígito é representado por seu eq. Binário; 4 bits são necessários para Codificar cada dígito: Decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Binário 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 0001 0000 0001 0001 0001 0010 0001 0011 0001 0100 0001 0101 CODIFICAÇÃO BCD e Binário BCD não é um outro sistema de numeração, como binário, hexadecimal ou decimal; Ele é um sistema decimal, com cada digito codificado no seu equivalente binário; Número BCD não é o mesmo que número binário puro. Código binário puro considera o número decimal completo e representa em binário; Código BCD converte cada dígito decimal em binário individualmente; CODIFICAÇÃO ASCII (American Standart Code for Information Interchange) Código Padrão Americano para Troca de Informações O código ASCII, é um código de 7 bits (27) com 128 caracteres. É usado para transferência de informação entre computador e dispositivos de entrada/saída terminais de vídeo e impressoras). O computador utiliza internamente para armazenar informações que o operador digita no teclado. Existe uma tabela estendida para 8 bits que inclui os caracteres acentuados. CODIFICAÇÃO ASCII (American Standart Code for Information Interchange) Caracter Decimal Hexadecimal Binário Comentário NULL 00 00 0000 0000 Caracter Nulo SOH 01 01 0000 0001 Começo de cabeçalho de transmissão STX 02 02 0000 0010 Começo de texto ETX 03 03 0000 0011 Fim de texto EOT 04 04 0000 0100 Fim de transmissão 0 48 30 0011 0000 1 49 31 0011 0001 2 50 32 0011 0010 3 51 33 0011 0011 CODIFICAÇÃO UNICODE A codificação de caracteres sempre foi problemática devido à existência de diferentes padrões (ASCII pt, ASCII en, etc.) e da incompatibilidade entre eles; Desenvolvido pelo Unicode Consortium para padronizar a codificação de caracteres; Associa um número para cada caractere, independente do programa, plataforma ou idioma; Abrange quase todas as escritas em uso atualmente, além das escritas históricas já extintas e os símbolos, em especial os matemáticos e os musicais. CODIFICAÇÃO UNICODE (Basic Latin) ! " # $ % & ' ( ) * + , - . / 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 0 1 2 3 4 5 6 7 8 9 : ; < = > ? 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F @ A B C D E F G H I J K L M N O 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F P Q R S T U V W X Y Z [ \ ] ^ _ 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F ` a b c d e f g h i j k l m n o 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F p q r s t u v w x y z { | } ~ 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F RELAÇÃO DE GRANDEZAS Símbolo Matemática k (kilo) M (mega) 210 = 1.024 220 = 1.048.576 103 = 1.000 106 = 1.000.000 G (giga) T (tera) 230 = 1.073.741.824 240 = 1.099.511.627.776 109 = 1.000.000.000 1012 = 1.000.000.000.000 Capacidade/Tamanho (de memória) Computação MB = Mbyte: mega byte (220 bytes) GB = Gbyte: giga byte (230 bytes) Velocidade (de transferência de dados ou de processamento) MIPS: um milhão de instruções por segundo (106 instruções/s) MFlop: um milhão de operações em ponto flutuante por segundo (106 operações/s) Mbps: mega bits por segundo (106 bits/s) MB/s: mega bytes por segundo (106 bytes/s)