16. Arquitetura de Computadores: IEEE 754
Вставка
- Опубліковано 7 лют 2025
- Nesse vídeo, é apresentado a representação de ponto flutuante utilizando o padrão IEEE 754.
A página da disciplina com lista de exercícios e material de apoio pode ser acessada em tinyurl.com/y5...
Nesta série de videos, uso uma abordagem focada em hardware e eletrônica para computação. Inicialmente é abordado a parte básica dos sistemas numéricos e bases binárias, octal e hexadecimal, operações aritméticas e conversões entre bases. A partir daí entramos na parte básica da eletrônica, onde vemos os princípios das portas lógicas, circuitos digitais e multiplexadores. Depois avançamos na construção da Unidade Lógico-Aritmética (ULA) de 1 bit a de vários bits. O ciclo da instrução é montado criando um processador RISC hipotético com capacidade para execução de instruções em linguagem de máquina levando em consideração o conceito de pipeline. Vemos também a hierarquia da memória e como montar memórias RAM a partir de flip-flops.
Enjoy it!
By @prof.pantoja
turing.pro.br/...
Explicação clara e objetiva!!! Ótimo vídeo
Obrigado rapaz. :)
o chat gpt só me confundiu, graças a deus existem professores com ótimas didádicas, NADA como um bom professor
Estudando para o concurso da Caixa, obrigada pelas aulas professor está me ajudando a mudar minha realidade
Boa sorte e boms estudos. Espero que você passe! Estarei torcendo por ti.
Estou cursando Engenharia da Computação e os seus vídeos estão sendo de ótimo apoio, agradeço professor!!
Obrigado. Bons estudos!
Excelente aula !!!!! Explicou muito melhor em 13 minutos do que meu professor em 2 horas de aula.
Obrigado. ;)
ótima explicação, me salvou na prova!!! professor excelentíssimo, muito obrigada!!!!
ae professor o senhor esteve aqui no IF de campos do Jordão tiramos até umas fotos agora está nos ajudando bastante,
um abraço
Esteve nos cursos né? Bons estudos aí pra ti. Tira 10!
@@ProfessorPantoja Foi sim! Espero que venham outras vezes
Vou voltar por aí até o final do ano! :)
@@ProfessorPantoja Beleza, Vamos esperar!
Ainda não sei como demorei tanto tempo para encontrar essa playlist! MUITO BOA!
Que bom Ezequial. Obrigado e bom proveito.
Você é simplesmente o melhor.
Obrigado!
Eu não havia entendido nada com o professor da faculdade, a sua aula é perfeita. Muuuito obrigada!
De nada. 😀
Explicação extremamente simples e clara, muito obrigado pela aula!
Esse é o objetivo! Facilitar! ;)
Me ajudou muitoooo Obrigadao , excelente canal.
Que bom que ajudou
Parabéns você é um excelente prof. . Você é objetivo e claro. Sua aula não aquelas de longa durabilidade, o que se torna cansativo. CONTINUEM ASSIM. Abraço Deus abençoe
Obrigado Eduarda! Sempre tento deixar o mais breve e rápido possível! Um abraço.
Excelente aula professor, muito obrigado! Eu estava quebrando a cabeça pra tentar entender isso
Que bom que entendeu Vitor. Um abraço!
Explicação ótima!
Obrigado!
obrigado por mais uma aula professor Pantoja, está a ajudar-me muito com o meu curso de Engenharia Informática, muito obrigado :)
De nada Lucas. Estou aqui a ajudar no que precisar. Abraços
top,obrigado irmão
De cada Rapaz! Tmj!
Sei que o vídeo e antigo, finalmente depois dess explicação consegui. OBG!!!
É antigo mas ainda está rolando vídeos de Arquitetura!!! O conteúdo é bem extenso. Mas que bom que conseguiu aprender!!! Um grande abraço!
Mt bom mt bom
Melhor que várias aulas que eu nn fui, tenho certeza
Obrigado! Nunca é tarde para agradecer! ;)
Muito boa a explicação do Owen Wilson brasileiro!
Kkkkkkk. Obrigado.
Excelente Aula
Obrigado! ;)
Foi de grande ajuda! Muito obrigado!! Forte abraço.
Que bom Gabriel!!!! ;)
Muito bom. Explicação excelente.
Valeu! ;)
Salvou, professor.
Que bom Natália!!!
@@ProfessorPantoja vc é da uff? Acho que nos conhecemos
Não sou professor oficial da UFF (sou do CEFET). Fiz o doutorado lá e estou iniciando um pós-doc lá no IC. É bem provável que nos conhecemos sim!!! Sua foto de perfil no UA-cam fica muito pequena pra mim.
@Natália Bruno Rabelo pelo que vi aqui... te conheço sim. Inclusive até estivemos na mesma academia por um tempo.
Muito obrigado, ajudou bastante
Que bom! ;)
Canais de ensino são todos muito underrated
Sometimes!
Excelente explicação! Rápido e objetivo... Obrigado!
Obrigado Ricardo. É pra poder facilitar e ajudar ao máximo vocês. Abraço.
Me ajudou demais, muito obrigada 🥰👋
Que bom que ajudou! O objetivo é esse!
PARABÉNS . ÓTIMA AULA.
Valeu!!! :)
Excelente aula!
Obrigado
amei
;)
AULA BOA DEMAIS !!
Obrigado Felipe!
Muito obrigado, mestre!
De nada rapaz. Nunca é tarde para agradecer. ;)
Ajudou muito... obrigado!
Que bom! :)
recomendo muito!!! ótima explicação
:)
Muito bom professor. Obrigado.
De nada!
Salvando minha vida em pleno 2023
Vamos que vamos!
Me ajudou muito, Obrigado. +1 inscrito
Que bom que ajudou!!! Obrigado pelo apoio! ;)
muito obrigadaaaaaaaaaaaa
De nada Lumah! ;)
aula top,muito obrigada
De nada. Disponha. ;)
Excelente aula! me ajudou muito obrigada.
Que bom que ajudou Brena. De nada. Disponha sempre.
Muito bom o seu vídeo! Muito obrigada!!!!
De nada Daniele e obrigado.
Melhor explicação!!
Obrigado Marcelo.
Muito obrigado, me salvou!
Que bom!!!! ;)
Muito bommm!
Valeu Lucas!!!!
obrigado obrigado obrigado obrigado obrigado obrigado obrigado
De nada de nada de nada de nada. ;)
estudando 2 horas antes da prova, espero que dê tudo certo T~T
Mandando boas vibrações pra que dê tudo certo!!!
Gostei bastante da explicação, lendo o livro sozinho foi bem alienígena pra mim. Sua aula foi bem esclarecedora! Só no momento 12:00 que eu não entendi a lógica do 10000 dando 16, nessa parte você realizou a conversão de binário para decimal? Edit: Vi que tem uma playlist sobre o assunto, vou retroceder pra pegar a mãnha.
Isso mesmo Pedro! O 10000 depois da vírgula eu converti pra decimal! Da uma olhadinha sim nos vídeos de conversão. Precisando de algo, estamos por aqui. Abraço
Cuando se mueve la coma para la derecha? Es hasta el primer uno o el último?
Hola, em qual situação específica você quer saber? Do número em IEEE 754 para o número em Decimal ou o contrário? :)
@@ProfessorPantoja si tengo un número en binario negativo por ejemplo. La coma se mueve para la derecha? Hasta donde?
Quando temos um número negativo, o primeiro número a esquerda é o bit de sinal, os próximos são a mantissa. Uma vez identificado se o número é positivo ou negativo, analisamos só a mantissa. Então, esse número já é considerado no mínimo 1, pelo próprio formato. A mantissa é quem vai nos informar quantas vezes a vírgula irá se mover para a direita, fazendo o cálculo como mostro no vídeo, subtraindo ou somando de 127. Respondi? Desculpa não conseguir responder em espanhol, consigo entender um pouco, mas escrevendo sou péssimo.
@@ProfessorPantoja muchísimas gracias por responder!!!
@@Lashistoriasdelilith posso perguntar de onde você é?
¿É possível transformar um número IEEE754 em inteiro, sem dividir com números decimais, e isso é, cortando fora as casas decimais?
Ainda estou com um pouco de dúvida em como os números não ficam limitados à um byte
Entendi agr
Que bom que entendeu!!!! Qualquer coisa estou por aqui!
Prof pq no prineiro passo o numero 4,25 = 0 10000001 0001...
Ai depois ao fazer a volta o 4,25 nao estava mais sendo
0 10000001 0001... mas sim
0 10000011 000001...
po pq nos exemplos a conversão é tranquila, to tentando converter por exemplo 4.6 to morrendo aqui de tanto calcular e não sei se ta certo
Posta aqui o que você fez e vamos ver se o caminho está certo. Abraços.
@@ProfessorPantoja postei a dúvida logo acima, o número binário é imenso, não sei se cabe aqui.
qdo e um nuemero inteiro para transformar em IEEE 754, exemplo 1988? e possivel?
Sim. Entenda o 1988 como 1988,00. Daí basta fazer o processo. Mover a vírgula até 1,988 e fazer as demais contas. Por alto é isso. :)
E com números negativos muda algo ?
Não... é a mesma dinâmica. Tanto que temos o bit de sinal para isso. :)
@@ProfessorPantoja e por que têm número que subtrai com 127 e numero que soma com o 127
Porque depende da quantidade de números antes da vírgula ou depois (o quanto a vírgula foi movimentada. Aí esse número precisa ser subtraído ou somado.
professor, otimo video, mas so corrigindo a denotação do -1 ali, que aquele -1 elevado ao bit de sinal deveria estar entre parenteses pela notação matematica, pois escrito da forma que o senhor escreveu seria apenas o 1 elevado a algo e dps um menos , o que sempre daria -1
Obrigado rapaz. Sim sim. Verdade. As literaturas colocam os parênteses, dei mole e não coloquei. Mas deu pra entender. Depois vou postar uma correção na descrição do vídeo. :)
@@ProfessorPantoja eu mesmo corrigi o portugues do meu comentario, kkkkk, um abraço
Relax. Acontece. Precisando, estamos por aí.
Presente !!!
Não to dizendo! hahaha
quanto se subtrai no expoente se for precisao 16 bits professor ?
Esse é pra precisão de 32 bits. Com 16 bits os valores de cada campo diminuem. Com exceção do bit de sinal. A dinâmica é a mesma. ;)
ola gostaria de saber de onde vem o 127?
O 127 é pra fazer o balanceamento e permitir números de -126 a +127. Ele é praticamente a metade de 256, tirando alguns números para outros fins.
obrigado@@ProfessorPantoja
professor o que faz quando o numero e 0, alguma coisa. tipo 0,0625
Pense em binário um número 0,001011. Então, é só mover a vírgula para a direita até 1,011 e faz as contas do expoente e mantissa. Foi?
Foi sim obrigado
Não entendi o pq do 131?
Não tem um porque específico do uso do 131. Nesse exemplo, calhou do excesso ter esse valor. Mas ele é 131 porque é a transformação dos 8 bits do campo excesso de binário em decimal. Com esse número, conseguimos achar o número de vezes que nossa vírgula se moveu. Ajudou?
revisando,presente
Caraca, quantos presentes deixou nos videos? :O
Léo presente!
Já deve estar sentindo saudades! :P
Professor, tenho que colocar 1 0010 1101 0101 0000 0000 0000 0000 000 nesse modelo, porém meu excesso é 45, e quando subtraio 127 fica -82, o que fazer?
Não tem problema dar negativo o seu expoente. O range da precisão simples vai de -126 a +127.
Professor, como posso saber a faixa de valores permitida nesse modelo, em base 2 e em base 10?
É assim a tabela, vou tentar explicar aqui:
NaN|-∞|-norm.|-denorm.|-0|+0|+denorm.|+norm|+∞|NaN
Com isso:
NaN|-∞|1.4 X 10^-45 |0| 3.4 X 10^38|+∞|NaN (decimal)
NaN|-∞|± 2^-126 |0| 1.11111111111111111111111×2^127|+∞|NaN (binário)
O NaN é o Not a Number, e o ∞ é o infinito. Temos os números normalizados e denormalizados. Com isso, conseguimos chegar naqueles valores em decimal e binário. Lembrando que esse é para o single precision. Para o double precision isso muda.
Ajudou?
@@ProfessorPantoja Não entendi direito a tabela professor, na verdade estou tentando solucionar um problema semelhante ao do vídeo: Tenho um sistema de representação de números reais com 12 bits, e preciso descobrir a faixa de representação permitida na base 2, porém estou preso nesse problema e fazendo muita confusão com a representação dos números de ponto flutuante.
Então é um ieee adaptado? Onde o número terá 12 bits? Quanto pra mantissa e pro excesso? Qualquer coisa posta a questão aí.
@@ProfessorPantoja A questão é assim:
Considere um "modelo reduzido" com 12 bits, para representar números reais em precisão simples; as convenções da norma IEEE 754 são mantidas, onde mantissa possui 6 bits, expoente possui 5 bits e mais 1 bit para o sinal. Valor decimal = (-1)^S . (1,M) 2^E
Excesso de 15.
a) na base 10, qual é a faixa de representação permitida, nesse modelo simplificado?
Comece pelo expoente. Ele tem 5 bits. Então descubra quanto é 2^5, que é 32. Divida isso por 2 e tire um. Você acha o meio termo, o 15. Aí é só calcular os demais valores. Veja que com 8 bits no expoente você tem 2^8 = 256. Divida por 2 e tire um, você acha o 127. Daí, é só fazer os limites.
Professor, se o número for negativo teríamos que aplicar c2 ?
Sim! Antes de converter aplica as regras do complemento a dois!
so não entendi o por que o numero começou em 4,25 e terminou em 16,25
São números diferentes. Ele colocou um número aleatório para fazer a conversão de PF para decimal
Prof Snape
Kkkkk
@@ProfessorPantoja
Então professor estou tentando entender como ocorre a conversão float64 para float 32. Usando python, O número 4.6 em float64 fica 4.6, porém quando eu jogo para float32 ele vira 4.599999904632568. Eu não consigo replicar o que o python faz manualmente no papel e caneta, ele usa o padrão IEEE 754, pq as variáveis são baseadas em c.
Nossa. Isso dá um trabalho por que a parte decimal é 0.6 e ele nunca zera. Então fica 1.2, 0.2, depois 0.4, depois 0.8, depois 1.6. Aí voltamos pro 0.6. Vai se repetir até você gastar todos os bits do IEEE 754 64bits. Convertendo pra 32 bits vai ter perda de precisão. Mas precisamos ver no papel né porque fiz de cabeça aqui. Tenta algum conversor online e tente comparar e colocar só até o limite dos bits do IEEE 754 32 bits. Isso antes de fazer no papel.
eu acho que foi tanto 2x elevado ao negativo que a calculadora começou a arredondar, e ta dando resultado diferente
eu usei o conversor ultimatesolver (não da pra colocar link no youtube), ele bateu certinho 4.6 para float32, com o que o python me devolveu.
@@ProfessorPantoja ultimatesolver . com/en/ieee-754
Vou dar uma olhada no conversor e depois te dou um retorno. Vejo aqui no papel também. :)
@ProfessorPantoja esse formula faltou parentese (-1)^s...
Obrigado pelo feedback 😊
Presente
Esse monte de presente é desespero?
e com precissão dubla( duble)
:)
Pq usa o 127? Pq x2^2? Boiei demais....🥲
O 127 é pra fazer o balanceamento e permitir números de -126 a +127. Ele é praticamente a metade de 256, tirando alguns números para outros fins.
Já o 2^2 foi porque movemos a vírgula do 100..., duas casas pra trás. Aí ficou 1,00...x 2^2. Igual ao decimal, mas com a base binária. Em decimal ficaria 10^2. A base mas a quantidade de deslocamento.
Parabéns pela didática. Como material complementar deixo este vídeo e seguintes do playlist ieee754, com exemplos diretamente na linguagem c++ e compiladores gcc e clang: ua-cam.com/video/vzaL48AsvrA/v-deo.htmlsi=FV0vKukivOGPtzrL
Jesus esteve aqui, me da 1 ponto?
Jesus salva em arquitetura!
o paia e que a explicação e muiito boa mas e tanta conta que me perco
O IEEE754 tem muita conta!!! E olha que ainda tentei simplificar. 😉