Introdução à Informática Sistemas Numéricos e Armazenamento de dados Escola Superior de Tecnologia e Gestão Instituto Politécnico de Bragança Outubro de 2006 Sistema de base dez O sistema de numeração que usamos no nosso dia a dia é o sistema de numeração decimal ou de base dez Chama-se assim porque utiliza dez algarismos ou dígitos: 0, 1,...9 Isto não acontece por acaso, utilizamos dez dígitos porque temos dez dedos (em latim a palavra dígito significa dedo) Introdução à Informática Sistemas Numéricos 2
Sistemas Numéricos Numa base b qualquer (b>1), um número inteiro positivo N é representado por: (N) b = a n x b n + a n-1 x b n-1 +... + a 1 x b 1 + a 0 x b 0 Dígitos: 0,..., b-1 Introdução à Informática Sistemas Numéricos 3 Base: 10 Sistema Decimal Dígitos: 0,1,2,3,4,5,6,7,8,9 Cada posição está associada a uma quantidade Exemplo: 452 (10) = 4x10 2 + 5x10 1 + 2x10 0 98,76 (10) = 9x10 1 + 8x10 0 + 7x10-1 + 6x10-2 -5,4 (10) = -5x10 0-4x10-1 Introdução à Informática Sistemas Numéricos 4
Sistema de base 2 Um computador não têm dez dedos e, por isso não utiliza a base decimal Um computador representa informação através de bits que podem armazenar um de dois valores: 0 e 1 É natural, por isso, que os computadores utilizem o sistema de numeração binário ou de base dois, que também utiliza apenas dois dígitos: 0 e 1 Introdução à Informática Sistemas Numéricos 5 Sistema Binário Base: 2 Dígitos: 0,1 Cada posição está associada a uma quantidade Exemplo: 101 (2) =1*2 2 +0*2 1 + 1*2 0 = 5 (10) 110 (2) = 1 x 2 2 + 1 x 2 1 + 0 x 2 0 = 6 (10) 111 (2) = 1 x 2 2 + 1 x 2 1 + 1 x 2 0 = 7 (10) Repare-se que a forma como construímos os números no sistema binário é idêntica à forma como o fazemos no sistema decimal, com a limitação de dispormos apenas dos dígitos 0 e 1 Introdução à Informática Sistemas Numéricos 6
Sistema Hexadecimal (1) Base: 16 Dígitos: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F Cada posição está associada a uma quantidade Exemplo: 1B (16) =1*16 1 +11*16 0 = 27 (10) Facilita a manipulação humana de longas sequências de bits Os computadores armazenam sequências binárias em múltiplos de quatro Um único símbolo representa 4 bits Introdução à Informática Sistemas Numéricos 7 Sistema Hexadecimal (2) Converter de binário para hexadecimal: 0110101011110010 111010000101010100010111 01001000 Converter de hexadecimal para binário: 5FD97 - ABCD 610A - 0100 Introdução à Informática Sistemas Numéricos 8
Conversões Conversão de um sistema numérico de base n para decimal: Soma de potência de base n: xyz (n) = x*n 2 + y*n 1 + z*n 0 =w (10) Exemplo: 234 (16) =2*16 2 + 3*16 1 + 4*16 0 = 564 (10) Conversão do sistema numérico decimal para qualquer outro sistema numérico Dividir o valor pelo valor da base, e guardar o resto Enquanto o quociente for diferente de zero, dividir o novo quociente pelo valor da base e guardar o resto Juntar todos os restos obtidos, desde o último até ao primeiro, para obter a representação do valor na nova base Introdução à Informática Sistemas Numéricos 9 Conversão Decimal-binário Exemplo: 26(10)=?(2) 26 2 06 13 2 0 1 6 2 0 3 2 1 1 2 1 0 O resultado é 11010 (2) Introdução à Informática Sistemas Numéricos 10
Exercícios Qual a representação na base 10 do número 1110101 (2)? 1110101 (2) = 2 6 + 2 5 + 2 4 + 2 2 + 2 0 = 64 + 32 + 16 + 4 + 1 = 117 (10) Qual a representação na base 10 do número -100,001 (2)? -100,001 (2) = -2 2 2-3 = -4 1/8 = -4-0,125 = -4,125 (10) Introdução à Informática Sistemas Numéricos 11 Adição binária (1) Introdução à Informática Sistemas Numéricos 12
Adição binária (2) Qual o resultado da adição de 1101101 (2) com 1100101 (2)? 1101101 (2) + 1100101 (2) = 11010010 (2) 1101101 +1100101 11010010 Introdução à Informática Sistemas Numéricos 13 Fracções Binárias Conversão para o sistema decimal (N) b = a n x 2 n + a n-1 x 2 n-1 +... + a 1 x 2 + a 0 + a -1 x 2-1 + a -2 x 2-2 +... 110.01 1*4+1*2+0*1+0*0,5+1*0,25 = 6,25 2-2 2-1 2 0 2 1 2 2 Introdução à Informática Sistemas Numéricos 14
Adição de fraccionários em base 2 Colocar as partes inteira e decimal dos dois números alinhadas em relação ao. e fazer a adição normalmente Introdução à Informática Sistemas Numéricos 15 Complemento para dois O bit mais à esquerda indica o sinal do número: 0: positivos 1: negativos Representação dos negativos: nega-se bit a bit, e em seguida soma-se 1 Binário Valor 011 3 010 2 001 1 000 0 111-1 110-2 101-3 100-4 Complemento para dois: Introdução à Informática Sistemas Numéricos 16
Representação de símbolos Para podermos guardar num computador textos com letras, números, pontuação, etc, foi necessário criar codificações desses diferentes símbolos de forma a poderem ser univocamente representados Um dos códigos mais utilizados pelos sistemas informáticos é o código ASCII (American Standard Code for Information Interchange) O código ASCII (versão standard) representa todos os caracteres do alfabeto além de outros caracteres especiais, usando 7 bits (128 caracteres) para representar cada caracter A tabela ASCII extendida utiliza 8 bits, o que permite representar até 256 caracteres Contém duas partes distintas: 1ª (primeiros 128 caracteres) - é igual em todas as versões. 2ª (últimos 128 caracteres) - difere de país para país (ex: caracteres acentuados). Introdução à Informática Sistemas Numéricos 17 Tabela de ASCII 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 NUL (null) SOH (start of header) STX (start of text) ETX (end of text) EOT (end of transmission) ENQ (enquire) ACK (acknowledge) BEL (bell) BS (backspace) TAB LF (line feed) VT (vertical tab) FF (form feed) CR (carriage return) SO (shift out) SI (shift in) DLE (data link escape) DC1 (device control 1) DC2 (device control 2) DC3 (device control 3) DC4 (device control 4) NAK (negative acknowledge) SYN (synchronous idle) ETB (end of trans. block) CAN (cancel) EM (end of medium) SUB (substitute) ESC (escape) FS (file separator) GS (group separator) RS (record separator) US (unit separator) 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 Espaço! " # $ % & ' ( ) * +, -. / 0 1 2 3 4 5 6 7 8 9 : ; < = >? 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 @ A B C D E F G H I J K L M N O P Q R S T U V W X y z [ \ ] ^ _ 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 ` a b c d e f g h i j k l m n o p q r s t u v w x y z { } ~ DEL Introdução à Informática Sistemas Numéricos 18
Representação de caracteres =69 (10) Exemplo Ola em ASCII = 101 (10) 1001111 1101100 1100001 4F 6C 61 O l a Introdução à Informática Sistemas Numéricos 19 Unicode Antes de o Unicode ser inventado, havia centenas de sistemas diferentes de codificação Nenhum destes sistemas de codificação, no entanto, poderia conter caracteres suficientes: por exemplo, a União Europeia por si só requer vários sistemas de codificação diferentes para cobrir todas a línguas Estes sistemas de codificação são também conflituantes entre si Por outras palavras, dois codificadores podem usar o mesmo número para dois caracteres diferentes ou usar números diferentes para o mesmo carácter O Unicode fornece um único número para cada carácter, não importa a plataforma, não importa o programa, não importa a língua Actualmente, o standard Unicode contém 34,168 caracteres distintos codificados Introdução à Informática Sistemas Numéricos 20
Portas lógicas Circuitos electrónicos que realizam operações lógicas (Booleanas) sobre um conjunto de valores lógicos de entrada Os computadores são construídos pela combinação de portas lógicas (chips) Portas lógicas: AND OR XOR NOT Introdução à Informática Sistemas Numéricos 21 Conjunção (E / AND) Lógica Entradas Saída 0 0 0 0 1 0 1 0 0 1 1 1 Introdução à Informática Sistemas Numéricos 22
Disjunção (OU / OR) Lógica Entradas Saída 0 0 0 0 1 1 1 0 1 1 1 1 Introdução à Informática Sistemas Numéricos 23 Disjunção Exclusiva (XOR) Entradas Saída 0 0 0 0 1 1 1 0 1 1 1 0 Introdução à Informática Sistemas Numéricos 24
Negação (NÃO / NOT) Lógica Entrada Saída 0 1 1 0 Introdução à Informática Sistemas Numéricos 25 Circuito em que o valor de saída oscila entre dois valores mediante os valores de entrada introduzidos Circuito que permite armazenar um bit Saída constante se as entradas forem 0 Saída passa a 1 se a entrada de cima passa a 1 Saída passa a 0 se a entrada de baixo passa a 1 Flip-Flops Introdução à Informática Sistemas Numéricos 26