16. Arquitetura de Computadores: IEEE 754
Vložit
- čas přidán 1. 07. 2019
- 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/y5vjd4oh
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/kadupantoja/
Explicação clara e objetiva!!! Ótimo vídeo
Obrigado rapaz. :)
Excelente aula !!!!! Explicou muito melhor em 13 minutos do que meu professor em 2 horas de aula.
Obrigado. ;)
Estou cursando Engenharia da Computação e os seus vídeos estão sendo de ótimo apoio, agradeço professor!!
Obrigado. Bons estudos!
Ainda não sei como demorei tanto tempo para encontrar essa playlist! MUITO BOA!
Que bom Ezequial. Obrigado e bom proveito.
Eu não havia entendido nada com o professor da faculdade, a sua aula é perfeita. Muuuito obrigada!
De nada. 😀
Você é simplesmente o melhor.
Foi de grande ajuda! Muito obrigado!! Forte abraço.
Que bom Gabriel!!!! ;)
recomendo muito!!! ótima explicação
:)
Excelente explicação! Rápido e objetivo... Obrigado!
Obrigado Ricardo. É pra poder facilitar e ajudar ao máximo vocês. Abraço.
Muito bom professor. Obrigado.
De nada!
Muito bom. Explicação excelente.
Valeu! ;)
Muito bom o seu vídeo! Muito obrigada!!!!
De nada Daniele e obrigado.
Muito obrigado, mestre!
De nada rapaz. Nunca é tarde para agradecer. ;)
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.
Mt bom mt bom
Melhor que várias aulas que eu nn fui, tenho certeza
Obrigado! Nunca é tarde para agradecer! ;)
Excelente aula! me ajudou muito obrigada.
Que bom que ajudou Brena. De nada. Disponha sempre.
PARABÉNS . ÓTIMA AULA.
Valeu!!! :)
Explicação extremamente simples e clara, muito obrigado pela aula!
Esse é o objetivo! Facilitar! ;)
Excelente aula!
Obrigado
AULA BOA DEMAIS !!
Obrigado Felipe!
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
Melhor explicação!!
Obrigado Marcelo.
Excelente aula professor, muito obrigado! Eu estava quebrando a cabeça pra tentar entender isso
Que bom que entendeu Vitor. Um abraço!
Muito obrigado, me salvou!
Que bom!!!! ;)
Me ajudou muito, Obrigado. +1 inscrito
Que bom que ajudou!!! Obrigado pelo apoio! ;)
Ajudou muito... obrigado!
Que bom! :)
Explicação ótima!
Obrigado!
Muito boa a explicação do Owen Wilson brasileiro!
Kkkkkkk. Obrigado.
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!
Muito obrigado, ajudou bastante
Que bom! ;)
Excelente Aula
Obrigado! ;)
aula top,muito obrigada
De nada. Disponha. ;)
Me ajudou demais, muito obrigada 🥰👋
Que bom que ajudou! O objetivo é esse!
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.
Muito bommm!
Valeu Lucas!!!!
top,obrigado irmão
De cada Rapaz! Tmj!
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 CZcams 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.
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!
amei
;)
muito obrigadaaaaaaaaaaaa
De nada Lumah! ;)
Canais de ensino são todos muito underrated
Sometimes!
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
Presente !!!
Não to dizendo! hahaha
obrigado obrigado obrigado obrigado obrigado obrigado obrigado
De nada de nada de nada de nada. ;)
revisando,presente
Caraca, quantos presentes deixou nos videos? :O
Professor, se o número for negativo teríamos que aplicar c2 ?
Sim! Antes de converter aplica as regras do complemento a dois!
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. ;)
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. :)
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.
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ê é?
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 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
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.
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, 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.
¿É 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...
Presente
Esse monte de presente é desespero?
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. :)
Léo presente!
Já deve estar sentindo saudades! :P
Salvando minha vida em pleno 2023
Vamos que vamos!
e com precissão dubla( duble)
:)
Prof Snape
Kkkkk
@@ProfessorPantoja
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?
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í.
@ProfessorPantoja esse formula faltou parentese (-1)^s...
Obrigado pelo feedback 😊
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
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: czcams.com/video/vzaL48AsvrA/video.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. 😉