Prévia do material em texto
Representações de dados e aritmética de computadores Apresentação O computador recebe, processa e transmite grandes volumes de dados provenientes de aplicações e usuários. Para que esse fluxo seja possível, é necessário que os dados sejam convertidos para uma forma compreensível pela máquina, que opera por meio de variações elétricas em seus componentes de hardware. Essas variações são interpretadas e transformadas em valores matemáticos e lógicos que possibilitam sua utilização nos diferentes níveis do sistema, afirma Stallings (2020). Como os circuitos eletrônicos trabalham apenas com dois estados, ligado e desligado, a matemática computacional utiliza o sistema numérico binário como base para as funções executadas internamente. Nesse sistema, os símbolos zero (0) e um (1), denominados "bits", representam a menor unidade de informação. A partir dessa lógica, torna-se possível representar números, caracteres e demais informações digitais, explicam Tanenbaum e Bos (2022). Nesta Unidade de Aprendizagem, você vai aprender como os computadores representam internamente os números, as letras e todo tipo de informação. Também vai conhecer o funcionamento e a aritmética desse sistema, que é a base para os computadores atuais. Bons estudos. Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados: Identificar como os computadores representam os dados internamente.• Converter números do sistema de numeração decimal para o sistema de numeração binário, sejam eles positivos ou negativos. • Realizar operações aritméticas básicas no sistema de numeração binário.• Desafio Os computadores não armazenam diretamente letras, imagens ou sons como os seres humanos os percebem. Toda informação precisa ser convertida em sequências de 0 e 1, chamadas "bits", que formam códigos binários interpretados de acordo com o contexto. Tanenbaum e Bos (2022) explicam que essa representação digital é a base do funcionamento dos sistemas computacionais modernos, permitindo que símbolos abstratos sejam processados por circuitos eletrônicos de maneira uniforme e previsível. A partir dessas informações, considere-se parte da situação a seguir: Como profissional responsável diante desse contexto, responda: Qual é a explicação para o erro de exibição dos nomes com acentos e cedilha no sistema e qual solução prática pode ser aplicada para garantir que os dados sejam armazenados e apresentados corretamente? Infográfico As operações aritméticas no sistema binário utilizam apenas os dígitos 0 e 1, manipulados em nível de hardware por meio de circuitos digitais. A soma segue regras de transporte, a subtração utiliza empréstimos, a multiplicação é feita com deslocamentos, e a divisão, com subtrações sucessivas. Segundo Stallings (2020), essa lógica permite que instruções complexas sejam reduzidas a operações básicas implementadas eletronicamente. A adoção do binário está ligada à estabilidade da eletrônica digital, que trabalha com dois estados de tensão. Tanenbaum e Bos (2022) destacam que essa abordagem garante padronização e confiabilidade na execução de cálculos, tornando possível a construção de arquiteturas escaláveis em sistemas computacionais modernos. Neste Infográfico, você vai visualizar de forma clara como os cálculos são realizados no sistema binário, desde a aplicação das regras de soma, subtração, multiplicação e divisão até a obtenção dos resultados finais em base 2, que servem de suporte para todo o processamento computacional. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://creator-files.plataforma.grupoa.education/learning-object/57775/9125_EXA_INF_V0-2025-08-28T15:41:38-03:00.png Conteúdo do Livro A representação de dados no interior dos computadores está fundamentada no sistema binário, no qual todos os elementos, sejam números, caracteres ou instruções, são traduzidos em combinações de 0 e 1. Esse modelo de codificação permite que a eletrônica digital opere de forma confiável, já que cada bit corresponde a dois estados possíveis de tensão. Segundo Stallings (2020), a utilização do binário assegura simplicidade na implementação de circuitos e eficiência na execução de operações fundamentais, como leitura, escrita e cálculos básicos. De acordo com Tanenbaum e Bos (2022), a aritmética binária sustenta a execução das operações fundamentais de soma, subtração, multiplicação e divisão diretamente no hardware. Embora distintas da lógica decimal aplicada no cotidiano, essas operações constituem a base para instruções mais complexas nos processadores modernos. Assim, a matemática discreta se conecta diretamente ao funcionamento interno das máquinas digitais, fornecendo o alicerce para o desenvolvimento de sistemas computacionais atuais. No capítulo Representações de dados e aritmética de computadores, base teórica desta Unidade de Aprendizagem, você vai estudar como os computadores representam internamente os dados por meio do sistema binário. Além disso, vai aprender os fundamentos das operações aritméticas em base 2, incluindo soma, subtração, multiplicação e divisão. Boa leitura. ARQUITETURAS DE COMPUTADORES Maurício de Oliveira Saraiva Representações de dados e aritmética de computadores Objetivos de aprendizagem Ao final deste texto, você deve apresentar os seguintes aprendizados: Identificar como os computadores representam os dados internamente. Converter números do sistema de numeração decimal para o sistema de numeração binário, sejam eles positivos ou negativos. Realizar operações aritméticas básicas no sistema de numeração binário. Introdução Os computadores armazenam e manipulam dados de forma a descrever números, letras e todo tipo de informação. O bit, unidade mais básica de in- formação, pode ser representado por meio de um sistema de numeração, o binário, que é composto por zeros e uns. A soma de oito bits constitui um byte, que representa um único caractere de texto e consiste na menor unidade de armazenamento empregada pelos computadores. O termo byte também é usado para designar quantidades, como a quantidade de memória ou a capacidade de armazenamento de um dispositivo. Neste capítulo, você vai estudar o funcionamento e a aritmética do sistema de numeração binário, que é a base para os computadores atuais. Você vai verificar como os dados são representados internamente nos computadores e como são realizadas conversões e operações aritméticas básicas no sistema binário. Representação interna de dados nos computadores A representação de dados nos computadores se baseia na informação mais básica de um sistema digital, o bit (b). Bit signifi ca binary digit (dígito binário) e é representado em um circuito de computador composto por chaves elétricas de apenas dois estados, ligado ou desligado (alto ou baixo), conforme lecionam Null e Lobur (2011). Na prática, esses dois estados são representados por zeros e uns e indicam a forma como os computadores armazenam e manipulam dados para descrever qualquer caractere, como letras, números e símbolos. O conjunto de oito bits, formado por zeros e uns, representa um byte (B). Saiba mais sobre byte acessando o link: https://goo.gl/P7wTXZ Com o agrupamento de caracteres, é possível formar palavras. Nas lingua- gens humanas, as palavras possuem tamanhos diferentes, mas, nos computa- dores, todas as palavras possuem o mesmo número de caracteres, representado pela sequência de bits (zeros e uns). O tamanho de uma palavra representa a capacidade de dados que podem ser manipulados por determinada arquitetura, pois, quanto maior for o número de bytes, melhor será sua eficiência por meio do aumento do número de instruções inteligíveis, segundo Null e Lobur (2011). As arquiteturas mais antigas são conhecidas como sistemas de 8 bits (1 byte). Posteriormente, com a evolução do hardware, os sistemas foram evoluindo para palavras de 16 bits (x86 ou 16-bit) e32 bits (i86 ou 32-bit), até chegarem aos modelos atuais de 64 bits (x64 ou 64-bit), como os processadores Intel Core i9 e AMD Ryzen Threadripper. Sistemas de numeração Um sistema de numeração pode ser defi nido pela forma como as quantidades podem ser representadas e pelas suas regras de representação. Vimos que o sistema de numeração binário é composto pelos números zero e um; no entanto, existem outros sistemas de numeração, sendo os mais conhecidos o decimal, o octal e o hexadecimal. Representações de dados e aritmética de computadores2 Os sistemas de numeração que serão apresentados a seguir pertencem aos sistemas posicionais, que representam os valores conforme a sua posição no conjunto de símbolos — quanto mais à esquerda ele estiver, mais ele vale em relação ao número que estiver à sua direita segundo Null e Lobur (2011). Sistema de numeração decimal O sistema de numeração decimal ou base 10 é o mais conhecido e difundido na humanidade, pois é o sistema que utilizamos para representar a contagem de tudo o que conhecemos — por exemplo, o dinheiro. Nesse sistema, conforme lecionam Null e Lobur (2011), o conjunto é defi nido por um alfabeto de 10 símbolos, conforme a seguinte sequência: 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9. O sistema de numeração decimal especifica que cada número à esquerda representa 10 vezes mais o valor que está localizado imediatamente à sua direita. A notação base 10 é definida pelo número 10 em subscrito ou simples- mente o próprio número, como o seguinte número: 35210 ou apenas 352. A representação do número 352 pode ser visualizada na tabela a seguir. Nela, os dígitos são inseridos conforme a sua posição, e o cálculo é realizado pela seguinte expressão: an · 10n + ... + a2 · 102 + a1 · 101 + a0 · 100 3 · 102 + 5 · 101 + 2 · 100 => 300 + 50 + 2 => 352 Valor pela posição 103 102 101 100 Dígitos 3 5 2 Sistema de numeração binário Como dito anteriormente, esse é o sistema utilizado pelos computadores para representar a informação básica de um sistema digital, cujo conjunto de 3Representações de dados e aritmética de computadores símbolos é composto apenas pelos números zero e um, conforme apontam Null e Lobur (2011). No sistema de numeração binário, cada dígito à esquerda vale duas vezes mais em relação ao dígito imediatamente à sua direita. A notação base 2 é definida pelo número 2 em subscrito ao lado do número binário, conforme o seguinte exemplo: 10112. A representação do número 10112 pode ser visualizada na seguinte tabela, na qual os dígitos são inseridos conforme a sua posição: Valor pela posição 24 23 22 21 20 Dígitos 1 0 1 1 A conversão de um número binário em decimal se dá pela expressão apre- sentada a seguir. Ao substituir os valores na expressão, encontra-se o número 11 em decimal: an · 2 n + ... + a2 · 2 2 + a1 · 2 1 + a0 · 2 0 1 · 23 + 0 · 22 + 1 · 21 + 1 · 20 => 8 + 0 + 2 + 1 => 11 Sistema de numeração octal Conforme Null e Lobur (2011), no sistema de numeração octal ou base 8, os elementos são representados por um alfabeto de oito símbolos: 0, 1, 2, 3, 4, 5, 6, 7. No sistema de numeração octal, cada dígito à esquerda vale oito vezes mais em relação ao dígito imediatamente à sua direita. Representações de dados e aritmética de computadores4 A notação base 8 é definida pelo número 8 em subscrito ao lado do nú- mero octal, conforme o seguinte exemplo: 1238. A representação do número 1238 pode ser visualizada na seguinte tabela, na qual os dígitos são inseridos conforme a sua posição: Valor pela posição 83 82 81 80 Dígitos 1 2 3 A conversão de um número octal em decimal se dá pela expressão apresen- tada a seguir. Ao substituir os valores, encontra-se o número 83 em decimal: an · 8 n + ... + a2 · 8 2 + a1 · 8 1 + a0 · 8 0 1 · 82 + 2 · 81 + 3 · 80 => 64 + 16 + 3 => 83 Sistema de numeração hexadecimal O sistema de numeração hexadecimal ou base 16 apresenta um único símbolo para cada conjunto de quatro bits. Os elementos são representados pelos seguintes símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E e F, em que A, B, C, D, E e F representam os números 10, 11, 12, 13, 14 e 15, respectivamente, conforme lecionam Null e Lobur (2011). No sistema de numeração hexadecimal, cada dígito à esquerda vale dezesseis vezes mais em relação ao dígito imediatamente à sua direita. A notação base 16 é definida pelo número 16 em subscrito ao lado do número hexadecimal, conforme o seguinte exemplo: 5F16. A representação do número 5F16 pode ser visualizada na seguinte tabela, na qual os dígitos são inseridos conforme a sua posição: Valor pela posição 162 161 160 Dígitos 5 F 5Representações de dados e aritmética de computadores A conversão de um número hexadecimal em decimal se dá pela expressão apresentada a seguir. Ao substituir os valores, encontra-se o número 95 em decimal, pois F representa 15, conforme o conjunto de símbolos: an · 16n + ... + a2 · 162 + a1 · 161 + a0 · 160 5 · 161 + F · 160 => 80 + 15 · 160 => 80 + 15 => 95 Conversão de numeração decimal para o sistema binário Vimos que os computadores manipulam os dados no formato binário e que nós, seres humanos, trabalhamos mais frequentemente com os números no formato decimal. No entanto, em algum momento pode ser necessário converter os valores do sistema de numeração decimal para a base binária, assim como converter valores da base decimal para outras bases, como octal e hexadecimal, conforme sugerem Null e Lobur (2011). A esse processo dá-se o nome de conversão de bases. Os conhecimentos de conversão de bases são importantes para o estudo da organização dos computadores, dos circuitos digitais, da lógica de programação e da arquitetura de computadores, entre outras. Conversão de número decimal sem sinal para binário Essa conversão pode ser realizada por meio do método de subtrações suces- sivas ou pelo método de divisão-resto. Por ser mais intuitivo, rápido e fácil, neste capítulo abordaremos o método de divisão-resto. Para saber mais sobre o método de subtrações sucessivas, consulte o Capítulo 2, página 76, do livro Princípios básicos de Arquitetura e Organização de Computadores, de Null e Lobur (2011). Para converter um número decimal em binário é preciso realizar sucessivas divisões por dois, gerando um resto à cada divisão, que corresponde às partes Representações de dados e aritmética de computadores6 do número binário produzido. O resultado une todos os restos de trás para a frente, conforme ilustrado na Figura 1. Figura 1. Exemplo de conversão de decimal para binário. Nesse exemplo, a conversão do número 11 para o binário 1011 ocorreu por meio dos seguintes passos: 1. Divisão de 11 por 2, gerando resultado 5 e resto 1. 2. Divisão do resultado 5 por 2, gerando resultado 2 e resto 1. 3. Divisão do resultado 2 por 2, gerando resultado 1 e resto 0. 4. Divisão do resultado 1 por 2, gerando resultado 0 e resto 1. 5. Leitura dos restos de baixo para cima, produzindo o binário 1011. Para converter um número decimal para octal ou hexadecimal, é preciso modificar apenas o divisor por 8 para octal e por 16 para hexadecimal. O modo de cálculo é o mesmo da conversão para binário, inclusive a leitura dos restos de baixo para cima. Outra forma de converter um número decimal em hexadecimal é transformá-lo para binário, agrupar em quartetos e converter individualmente cada quarteto, segundo Null e Lobur (2011). Conversão de número decimal com sinal para binário Um número binário com sinal reserva o seu dígito de mais alta ordem para armazenar o sinal positivo ou negativo. Isto é: a sua posição mais à esquerda 7Representações de dados e aritmética de computadores armazena o dígito 0, para indicar que ele é positivo, e o dígito 1, para indicar que ele é negativo, conforme lecionam Null e Lobur (2011). Vejamos o exemplo do número 10 em decimal, representado em um binário de 7 bits como 00010102: Dígito 0 para números positivos (000010102 = +1010). Dígito 1 para números negativos(111101102 = −1010). Como visto, um número binário composto por 8 bits utiliza 7 bits para determinar o módulo do número e 1 bit para representar o seu sinal. Dessa forma, o tamanho máximo que esse número pode armazenar fica na faixa entre −127sistema posicional em arquiteturas computacionais ocorre de forma distinta da teoria matemática, já que a representação digital prioriza circuitos lógicos em detrimento de pesos numéricos. Os sistemas de numeração permitem representar quantidades em diferentes bases de forma organizada. Esse princípio matemático garante consistência e precisão nas operações realizadas em diferentes sistemas de numeração. Dessa forma, analise o seguinte cenário: 2) Na implementação de um protocolo de comunicação entre módulos de hardware, a equipe de desenvolvimento identificou divergências nos resultados ao converter dados entre diferentes bases numéricas. A investigação revelou que o problema estava relacionado a interpretações incorretas sobre a correlação entre a posição e o valor de cada dígito. Com base nesse contexto, qual princípio matemático deve ser aplicado para garantir a conversão precisa entre bases numéricas distintas? A) Utilização de fatoriais para determinar o peso de cada dígito nas diferentes bases. B) Aplicação do logaritmo natural para normalização dos valores de cada dígito. C) Emprego da soma ponderada com base na potência da ordem da base numérica. D) Uso de coeficientes binomiais para reorganização dos dígitos conforme a base. E) Conversão direta por substituição simbólica sem operações aritméticas. Em sistemas digitais que recebem informações de múltiplos dispositivos, os dados podem ser transmitidos em diferentes formatos numéricos. Compreender como cada sistema representa os números é fundamental para interpretar corretamente os valores e evitar divergências durante a comunicação entre módulos de hardware. Nesse sentido, analise a situação a seguir: Durante o desenvolvimento de um sistema que recebe dados de múltiplos sensores digitais, a equipe de engenharia observou que a representação da informação variava conforme a base utilizada para codificação. Alguns sensores transmitiam valores em base 2, outros utilizavam base 8, e, em relatórios técnicos, apareciam valores em base 16 para facilitar a leitura. Foi solicitado que um estagiário explicasse corretamente o papel dos sistemas de numeração binário, octal e hexadecimal na representação de dados, analisando como cada um estabelece a relação entre dígito, posição e base numérica. Com base nesse cenário, avalie as afirmativas a seguir: I. No sistema binário, cada posição à esquerda corresponde a um valor duas vezes maior que a posição anterior, e os dígitos possíveis são apenas 0 e 1. II. No sistema octal, cada posição à esquerda equivale a oito vezes a anterior, e a representação envolve símbolos de 0 até 7, o que torna o processo de conversão direta com o binário mais simples. III. O sistema hexadecimal utiliza 16 símbolos distintos, e cada posição à esquerda corresponde a um valor dez vezes maior que a posição imediatamente à direita. 3) IV. A notação posicional garante que, em qualquer uma das bases, o valor do número é obtido pela soma dos produtos de cada dígito pelo peso da posição correspondente. É correto o que se afirma em: A) I e II, apenas. B) II e III, apenas. C) III e IV, apenas. D) I, II e IV, apenas. E) I, II e III, apenas. 4) No estudo de aritmética computacional, a representação em complemento de dois é amplamente utilizada para codificar números inteiros com sinal, que permite operações de soma e subtração diretamente em nível binário. Ao considerar um sistema de 8 bits, cada valor é expresso levando em conta o bit mais significativo como indicador de sinal e os demais bits para o valor absoluto ou ajustado pela codificação. A partir dessas premissas, determine qual é o resultado binário obtido ao efetuar a operação −17 + 15 nesse formato: A) 0011000. B) 00000010. C) 00100000. D) 11111110. E) 00001110. 5) Em aritmética binária com tamanho de palavra fixo, processadores tratam resultados com saturação modular (envolvendo “estouro” por limite de bits) e sinal segundo a representação em complemento de dois. Nessas condições, a interpretação do resultado depende de bandeiras como carry e overflow, das regras que relacionam adição e subtração e das propriedades algébricas sob aritmética módulo 2n. Entender quando há erro de faixa (overflow) e como a subtração é implementada impacta diretamente a confiabilidade de rotinas de cálculo. Com base nesse contexto, indique a proposição correta sobre operações em complemento de dois (palavra de 8 bits): A) Em complemento de dois, o overflow em A−B coincide com a ocorrência de empréstimo no bit mais significativo. B) Em 8 bits, implementar A−B como A+ complemento de um de B produz o mesmo resultado binário que a subtração, sem ajustes adicionais. C) No modo "sem sinal" (unsigned), a presença de carry-out da soma indica overflow apenas quando os operandos têm sinais distintos. D) Se A+B produz overflow em complemento de dois, então o valor de 8 bits obtido é igual ao valor inteiro matemático da soma em Z. E) Em 8 bits com complemento de dois, o overflow na soma A+B ocorre exatamente quando os carries que entram e saem do bit mais significativo são diferentes. Na prática A comunicação digital e o tratamento eficiente de dados dependem diretamente da forma como essas informações são representadas internamente no computador. Cada número, caractere ou sinal transmitido é codificado em sequências binárias que seguem padrões bem definidos de representação e conversão. Essa codificação garante precisão, compatibilidade e integridade das informações durante processamento e transmissão. Os sistemas digitais modernos utilizam estruturas como o complemento de dois e o sistema de base 2 para lidar com operações aritméticas e representação de sinais. Esses mecanismos permitem que processos computacionais sejam consistentes e escaláveis, facilitando o desenvolvimento de softwares e hardwares complexos (Tanenbaum; Bos, 2022). A adoção dessas normas padronizadas assegura confiabilidade e uniformidade no tratamento de dados em diferentes plataformas. Neste Na Prática, você vai acompanhar um exemplo aplicado sobre como falhas nesse alinhamento podem gerar resultados incorretos em sistemas reais. Esses erros afetam diretamente a integridade das informações e a tomada de decisão. Conteúdo interativo disponível na plataforma de ensino! Saiba mais Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professor: Sistema de numeração binário – aprenda por que 1+1 = 10 Assista a este vídeo para entender por que no sistema binário 1 + 1 é igual a 10. Em poucos minutos, você vai aprender, de forma clara e divertida, como funciona a lógica da soma em base 2. Esse conceito está fundamentado na ideia de que os sistemas de numeração organizam os símbolos de acordo com regras próprias, o que permite diferentes formas de representar quantidades. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. Sistemas digitais – fundamento e aplicações Leia o Capítulo 2, "Sistemas de numeração, operações e códigos". Nele, você vai aprofundar o seu entendimento sobre sistemas de numeração e sua aplicação prática em computação. Neste capítulo, confira, de forma detalhada, a base teórica dos números decimais, binários, octais e hexadecimais, além de operações aritméticas, códigos digitais e métodos de conversão entre diferentes sistemas. Conteúdo interativo disponível na plataforma de ensino! Sistemas digitais: projeto, otimização e HDLs Leia o Capítulo 1, "Introdução", deste livro. A partir desta leitura, você vai compreender os fundamentos iniciais sobre sistemas digitais. O capítulo apresenta uma visão geral sobre o impacto dos sistemas digitais no cotidiano, a importância dos microprocessadores no desenvolvimento de projetos e os elementos essenciais que compõem a base da lógica digital. Conteúdo interativo disponível na plataforma de ensino! https://www.youtube.com/embed/voTxrVCU3Xk?si=Egg6SZqzQwABFsYj