Representação em Ponto Flutuante e Operações Aritméticas Binárias

1. Respostas Diretas

  • Do que se trata o conteúdo? É uma aula introdutória sobre a notação de ponto flutuante (representação decimal e binária) e as operações aritméticas binárias (soma, subtração, multiplicação e divisão).
  • Principais assuntos
    • Representação decimal de ponto flutuante – mantissa, base e expoente (ex.: \(-2,187 = -0,2187 \times 10^{1}\)).
    • Limites de precisão em dispositivos com mantissa limitada (ex.: calculadora de 4 dígitos e expoente \([-3,3]\)).
    • Representação binária de ponto flutuante – conversão decimal → binário, estrutura de palavra de 16 bits (sinal mantissa, sinal expoente, 4 bits de expoente, 10 bits de mantissa).
    • Operações aritméticas binárias: soma, subtração (com empréstimo), multiplicação (deslocamento e soma) e divisão (algoritmo de resta‑resto).
  • Ponto de maior atenção A perda de precisão ao truncar mantissas (ex.: \(-17,945\) → \(-17,9375\)) e o manejo correto dos expoentes ao alinhar mantissas antes de operar.
  • Conclusão A notação de ponto flutuante permite representar números reais com amplitude e precisão limitadas; entender sua estrutura e as regras de alinhamento é essencial para executar corretamente as operações binárias.

2. Resumo dos Tópicos

1 Representação Decimal em Ponto Flutuante

Um número real é escrito como mantissa × baseexpoente. A mantissa contém os dígitos significativos, a base (geralmente 10) indica o sistema numérico e o expoente desloca a vírgula. Exemplo: \(-2,187 = -0,2187 \times 10^{1}\).

1.1 Mantissa, Base e Expoente

São três componentes essenciais. A mantissa guarda os dígitos relevantes, a base define o radix (10 para decimal, 2 para binário) e o expoente indica quantas posições a vírgula deve ser deslocada.

1.2 Limitações de Dispositivos com Mantissa Restrita

Em calculadoras com 4 dígitos de mantissa e expoente entre \(-3\) e \(+3\), números são truncados. Ex.: \(-17,945\) → mantissa 1,794 (arredondamento) e expoente \(2\), resultando em \(-17,94\).

1.3 Maior e Menor Valor Representável

Maior: mantissa 9,999 com expoente \(+3\) → \(9 999,9\).
Menor positivo: mantissa 0,0001 com expoente \(-4\) → \(1 × 10^{-4}\).

2 Representação Binária em Ponto Flutuante

Segue o mesmo princípio, porém a base é 2. Cada número é convertido para binário, a vírgula é normalizada e os bits são distribuídos em campos de sinal, expoente e mantissa.

2.1 Conversão Decimal → Binária

Parte inteira: divisão sucessiva por 2. Parte fracionária: multiplicação sucessiva por 2, anotando a parte inteira a cada passo.

2.2 Formato de Palavra de 16 bits

  • 1 bit – sinal da mantissa
  • 1 bit – sinal do expoente
  • 4 bits – valor absoluto do expoente (em binário)
  • 10 bits – mantissa (bits após a vírgula normalizada)

2.3 Exemplo: \(-17,945\)

Conversão binária → 10001,11110…. Normalizando: -0,1000111110 × 2^{5}. Codifica‑se sinal mantissa = 1, sinal expoente = 1, expoente = 0101, mantissa = 1000111110.

3 Operações Aritméticas Binárias

Para somar ou subtrair números em ponto flutuante, as mantissas devem ser alinhadas ao mesmo expoente; depois executa‑se a operação binária usual.

3.1 Soma

Regra da soma binária: 0+0=0, 0+1=1, 1+0=1, 1+1=0 com vai‑1.

3.2 Subtração

Semelhante à decimal: se necessário, “empresta” 1 (equivalente a 2 em binário) da coluna à esquerda.

3.3 Multiplicação

Deslocamento da mantissa (como multiplicar por potências de 2) e soma dos produtos parciais.

3.4 Divisão

Algoritmo de resta‑resto: comparar divisor com parte do dividendo, gerar quociente bit a bit, subtrair quando possível e “descer” o próximo bit.

3. Mapa Mental

mindmap root((Ponto Flutuante e Operações Binárias)) sub1(Representação Decimal) sub1a(Mantissa, Base, Expoente) sub1b(Limites de Dispositivos) sub1c(Maior/Menor Valor) sub2(Representação Binária) sub2a(Conversão Decimal→Binário) sub2b(Formato 16 bits) sub2c(Exemplo -17,945) sub3(Operações Binárias) sub3a(Soma) sub3b(Subtração) sub3c(Multiplicação) sub3d(Divisão)

4. Questões sobre o assunto

Questão 1 – Conceitos de ponto flutuante
1.50 ponto Média

Qual é a função da base (radix) na notação de ponto flutuante?

Resposta correta: C) A base determina o radix usado para representar o número.

A base (radix) define se o número está em decimal (base 10) ou binário (base 2), influenciando a forma como mantissa e expoente são interpretados.

Questão 2 – Limites de precisão
2.50 pontos Difícil

Considerando uma calculadora com mantissa de 4 dígitos e expoente entre -3 e 3, qual é o maior número positivo representável?

Resposta correta: D) 9 999,9

Com 4 dígitos de mantissa (9,999) e expoente máximo +3, o valor máximo é \(9,999 \times 10^{3}=9 999,9\).

Questão 3 – Alinhamento de mantissas
2.50 pontos Difícil

Qual é o procedimento correto para somar dois números em ponto flutuante com expoentes diferentes?

Resposta correta: C) Deslocar a mantissa do número com menor expoente para a direita.

Para somar, os expoentes precisam ser iguais; desloca‑se a mantissa do número com expoente menor para a direita (equivalente a dividir por 2^{diferença}).

Questão 4 – Erro de arredondamento em ponto flutuante
3.50 pontos Extrema

O que acontece ao representar o número -17,945 em um sistema de 16 bits com 10 bits de mantissa?

Resposta correta: C) O valor será truncado, resultando em -17,9375.

Com 10 bits de mantissa, a fração binária é truncada, gerando o valor aproximado \(-17,9375\) (erro de 0,0075).

Pontuação Total
0.00

Texto original

O texto original pode conter falhas de gramática ou de concordância, isso ocorre porque ele foi obtido por um processo de extração de texto automático.
Texto extraído do video Introdução a Conceitos de Computação - Notação de ponto flutuante e operações aritméticas binárias

Olá, alunas e alunos no curso de Introdução a Conceito de Contitação, mestre a videoaula e vou falar da notação de ponto flutuante e operações aritméticas binários.
Vou começar falando da representação decimal e binária na notação de ponto flutuante, e em seguida vamos operar, fazer operações aritméticas de som, a subtração, a explicação e de visual, considerando um valor de binários.
A notação de ponto flutuante é muito usada na computação, principalmente para cálculos matemáticos, como uma precisão adequada, assim como em processos de renderização de imagens, por exemplo, em jogos 3D que demandam bastante desse tipo de representação e a guitmética, mestre, metade, de ponto flutuante.
Bom, quando nós pensamos em valores reais, nós temos aqui, por exemplo, número menos 2,187.
Numa notação de ponto flutuante, nós temos os dígitos significativos 2,187.
Vamos convencionar colocá-los após a vírgula.
Além disso, precisamos identificar o sinal, o sinal negativo.
Então, colocando esses dígitos significativos após a vírgula, nós temos o sinal negativo 0,2187, que são os dígitos significativos.
Eles formam que se chama de mantissa nessa notação, que é a quantidade de dígitos na parte significativa do número.
Como estamos lutando aqui para representar os dígitos significativos, todos os após a vírgula, isso significa que esse número é igual a esse vezes 10 elevado a potência 1 aos poentes.
O 10 é a base que estamos operando, a base 10, e o 1, então, significa que essa vírgula vai flutuar para essa posição para que tenhamos 2,187 com o sinal de menos.
Então, temos três alimentos, a mantissa, a base e o espoiente.
Vamos ilustrar isso considerando um dispositivo como uma calculadora, mas podia ser um dispositivo embarcado com um processamento mais limitado, que operar na base 10 com 4 dígitos na mantissa e espoentes que podem sumir valores que vão de menos 3 até 3 para fazer o processamento de números.
Nesse caso, se eu tenho um número como menos 17,945, ao armazenar nessa calculadora em lutação de ponto flutuante, eu vou identificar o sinal, eu vou deslocar os dígitos significativos para depois da vírgula como convencionamos, e aí temos a mantissa formada por 1,7,9,4, e 5, só que o 5 não vai entrar porque eu só posso armazenar 4 dígitos nessa minha calculadora.
Então, eu tenho 1,7,9,4, perco esse valor.
Bom, dessa forma, nessa lutação, a minha vírgula vai flutuar duas posições para cá, então eu faço vezes 10 elevado a 2.
Dessa maneira, então, eu exergo um camento, porque eu tenho uma imitação na minha armazenagem nesse tipo de dispositivo.
Dessa forma, é importante eu ter uma noção de qual é o maior número que eu consigo ter armazenado nessa calculadora.
Bom, é o número positivo, certo? Com 4 dígitos significativos, onde na básica eu estou operando, o maior algoritmo seria o 9, então eu coloco 9 em todas as posições.
Só que aí, até onde eu consigo flutuar essa vinígula, deslocar essa vírgula, eu posso multiplicar por 10 elevado a 3, que é o maior expoente.
Então, meu maior número nessa calculadora é 999,9.
E a precisão, então, nesse caso, estamos instalando do menor número positivo.
Bom, nesse caso, não é zero, porque o menor número positivo.
Então, isso significa que eu posso culpar com zero, todos os dígitos mais significativos, mas esse é o último que vai ser um.
Nesse caso, preoter exatamente essa precisão, eu vou multiplicar por 10 elevado a zero, que é um.
E aí, eu tenho que o meu menor número é zero, vírgula, zero, zero, um, ou seja, um vezes 10 elevado a menos 4.
Bom, só que na máquina, nesse mesmo dispositivo, isso vai estar sendo processado com, se é um dispositivo digital, vai ser processado, sendo processado como zero e um.
Então, suponha que a gente esteja operando com uma palavra, vamos processar uma palavra com 16 bits e com a seguinte estrutura.
Um bit é reservado por sinal da mantissa, outro bit por sinal do expoente, o seguinte por sinal do expoente.
Os praços 4 bits representam o valor inteiro dos põentes e os demais 10 bits vão ser processados para guardar os dígitos significativos que formam a minha mantissa.
Vamos convencionar que zero é o sinal utilizado para sinal positivo e um para negativo, nessa estrutura.
Bom, dessa forma, se eu quero representar o menos 17,945, eu vou estar processando o sinal dele como um já que é um dispositivo.
O número, eu vou ter que na base 10, eu vou converter para a binária, como já vimos no alam anterior, o 17, eu converto dividindo por 2 sucessivamente, obtém essa cadeia binária 1,001.
A parte fracionária, eu multiplico sucessivamente pelo número 2 e pego na parte inteira, os valores inteiros obtidos, os 1,001 obtidos para a representação da parte fracionária em binária.
Dessa forma, eu tenho essa conversão do número da base 10 para a base binária, onde a vírgula estaria nesta posição na base binária.
Bom, dessa forma, novamente, vamos convencionar de colocar todos os dígitos significativos após a vírgula.
Então, eu estou pegando essa representação binária e trazendo a vírgula para cá, temos o sinal de menos aqui, todos os dígitos significativos, o que significa que, como a minha vírgula, eu tenho 5, uma cadeia de binária de tamanho 5 antes da vírgula, eu vou multiplicar por 2 elevado a 5.
Bom, dessa forma, eu tenho o sinal do número 1, o sinal do número 1, que é negativo, 0, como o bítio do sinal do spante, depois que eu vou ter o que é armazenal do valor do spante.
Eu vou armazenal do valor do spante, não como 5, mas 5 é em binária, 1, 0, 1.
Então, coloco essa cadeia aqui, onde, nesse caso, estou considerando que o spante é um valor inteiro, então, eu estou representando aqui a posição 0, 1, 2, e 3 em termos de base de 2, 2 elevado a 0, para o elevado a 1, e assim sucessivamente.
E na mantissa, eu vou ter o dígito mais significativo nessa posição e os demais para cá, porque isso vai me facilitar na hora de posicionar a vírgula.
Como? Vamos observar aqui.
O meu escoente na hora de decodificar essa cadeia de binária para acessar o valor na base 10, o meu escoente 5, mais 5, ele se converte em, ele indica para mim que eu vou de jogar a vírgula 5 posições para o direita.
Isso significa que, na minha representação binária, a vírgula vai estar nessa posição aqui, certo? Então, dessa forma, a gente tem, no processo de decodificação dessa informação, o posicionamento para onde frutou a vírgula nessa notação.
E aí, nós podemos decodificar para 17,9375.
Observe que, nesse caso, a minha representação também truca o valor.
Eu não consegui representar o 9, 4, eu estou representando 9, 3, 7, 5 na parte pressionária.
Agora, falando das operações aritméticas binárias, nós temos as tabuadas aqui, que nos ajudam nesses cálculos.
Por exemplo, 0 mais 0 em binária é 0, 0 mais 1 é 1, 1 mais 0 é 1, e 1 mais 1 é 2, 1 mais 1, então, é 0 e vai 1, que é a representação 1, 0 que é 2 em binária, então vai 1 na colona da esquia.
Também, de uma maneira, na subtração, a gente faz 0 menos 0, 0, só que, de forma na loja a base 10, eu peço emprestado.
Então, eu peço emprestado na coluna da esquerda, por exemplo, 2, para fazer a subtração por 1 e ter o valor 1 no resultado, 1 menos 0, 1 menos 1, 0.
Então, nós temos o vai 1 na soma, e nós pedimos emprestar na subitração.
Não vê um exemplo, dois exemplos para explicar esse isso.
Aqui, nessa só, 1 mais 1, 2, ou seja, 0 vai 1, 1 mais 1, 2 mais 1, 3, ou seja, 1 vai 1, 1 mais 1, 2, 2 mais 1, 3, 1 vai 1.
Os próximos casos são triviales, 1 mais 0, 0, 1 mais 0, 0.
Agora, para subtrair o que eu faço, primeiro caso, tranquilo, 1 menos 0.
E agora, eu preciso pedir emprestado.
Bom, vai chegar 2 aqui para esse 0, 2 menos 1, 1.
Só que o outro 0, ele pediu emprestado para um link também não tinha, e que vai ter que pedir emprestado, e que vai ter que pedir emprestado por próximo, que vai ter que pedir emprestado por 1, que vai bancar a dívida de todos esses 0s que pedir emprestado.
Isso significa que eles vão receber 2, mas vão passar 1 para o colega da direita.
Então, isso significa que a gente tem 1 e 1 aqui, só quem recebe o 2 foi esse 0, que eu me empresto para ninguém.
Então, nós vamos ter o processo da divisão feita, de uma maneira muito analogue, ao que a gente faz na base 10.
E a multiplicação, 0 vezes 1, 0, 1 vezes 0, 0, com um vezes 1, então, nesse caso, aqui, o que a gente tem é que repetir valores e depois fazer uma grande soma, que é o que vai acontecer aqui, multiplicando todos esses valores, vai dar o próprio valor assim sucessivamente, quando for 0, vai ser tudo 0, faço o deslocamento de forma analogue ao que fazemos na base 10, e agora realizamos uma grande soma binária.
Então, relembramos a nossa tabuada em etisonma binária para chegar nesses valores aqui.
Sistamos quando duvido, aqui temos um e na hora detalhe 1, 1 mais 1, 2, 0, vai 1, 1 mais 1, 3, vai 1, todos aqui, agora, vão somar 3, ou seja, 1, vai 1.
E assim sucessivamente, exceto aqui que eu somo 1 com 0, vai dar 1 e repita esse termo, e chego na minha soma binária, que é o resultado desse multiplicação.
Em a divisão, não há divisão por 0, não há divisão por 0, e que estou representando aqui por x, e 0 dividido por 1 dá 0, 1 dividido por 1 dá 1, ou seja, quando o valor binário é menor, o consciente dá 0, quando é idêntico, dá 1, ou quando é maior, que é basicamente que está escrito aqui.
Se o acadência de víticos for maior, o consciente é 1, se for menor, o consciente é 0.
Com, então temos aqui selecionamos no dividendo a mesma, o mesmo tamanho de cabê é binária que o divisor.
E aí, como esse número é maior que esse aqui em binária, o consciente é 1, faço o produto, repito o valor aqui, subtrai.
Agora, eu tenho uma cadeia de tamanho 3, vou descer o próximo termo, analgou o que é feito na divisão em base 10.
Agora, esse valor observa que pelas oposições dos 1, nós temos essa posição preenchida com 1, que torna esse número maior que esse, então o meu consciente vai ser 0.
Bom, na prática, o que isso significa, mas nós não precisamos fazer, né? Nós vamos multiplicar por 0 e vamos obter 0, o que faz o que possamos repetir esse resultado aqui em base.
E descer mais um valor.
O que na prática não é necessário ser feito, mas podemos plar direto para essa próxima etapa, que é, como às vezes, aparemos a gente aprende na escola, né? Coloca 0 aqui e aí você pode descer mais um, pelo menos eu aprendi a descer de jeito.
A partir desse momento, você vai ter uma cadeia de binária maior aqui com o valor maior que este termo.
E aí, você multiplica por 1 e faz a subtração.
Bom, dessa forma, nós podemos continuar aqui, né? Então, temos esse valor maior que este aqui, o resultado, então, vai dar 1.
Multiplicamos, vamos fazer a subtração, temos esse resto, podemos descer o próximo valor que é 0.
Nesse caso, descendo 0 aqui, temos esse termo, que é maior que este aqui, em termos representação binária.
Então, vamos ter um consciente 1.
Fazemos agora a multiplicação, a subtração, e chegamos finalmente no queneste consciente e no resto, 0, 0, 1.
Poderíamos ter parado aqui.
Se eu quiser se continuar esse processo de divisão, é para ter uma precisão maior na representação binária, o que eu vou fazer? Eu coloco uma vírgula e, nesse caso, eu quero ser 1,0, então o meu resto ficaria 1,0, que não é um valor binário maior que este aqui.
Então, eu vou colocando novas posições 0, ou seja, eu vou novamente obter no resultados a partir de produto por 0, que nada mais é do que está acrescentando mais 0 aqui, até essa cadeia binária ficar maior que este aqui.
E aí, eu posso ter um consciente 1, que vai gerar essa operação aqui e um novo valor de resto.
E, nesse caso, eu poderia continuar operando, tento dar precisão para que esse chegar aqui após a vírgula.
Bom, dessa forma, na aula de hoje, a gente viu a questão da representação de quanto flutuante e brincamos um pouquinho com as operações aritméticas com valores binários.
Espero que vocês tenham entendido os principais conceitos e nos vemos na nossa próxima vídeo.