Jump to content
fckool

Conversao float to binary matlab

Recommended Posts

fckool

Preciso de converter um valor float tipo: 0.0523 para binário...

Alguem sabe maneira de o fazer? Como é obvio a função dec2bin não funciona com floats

Obrigado desde já

Share this post


Link to post
Share on other sites
fckool

eu ja arranjei um algoritmo que me converte cada valor.

O problema é que cada valor com 4 casas decimais gera em binário algo do género: 0.1100001110110110010001011010000111001010110000001

Eu tenho que ler mais de 600mil valores, precisava de reduzir cada valor destes em binário a 4 casas decimais e seria mais fácil / eficiente o algoritmo resolver-me os 600mil valores.

Alguem sabe como reduço aquele valor em binário para 4 casas?

Share this post


Link to post
Share on other sites
bubulindo

Lá porque ninguém te responde, não assumas o que não sabes.

Estás a perguntar sobre uma funcão duma linguagem específica num fórum para programacão. Da última vez que usei o Matlab, os principais usos eram para a simulacão de sistemas e cálculo matemático... coisa que não é de todo o objectivo do Portugal-a-Programar. Certamente encontrarás ajuda nos fóruns da Mathworks. Por isso, não desdenhes.

Como ajuda...

O formato de números floating point do MatLab é a IEEE 754, pesquisa por documentos sobre essa norma.

Sabes o que é a representacão binária dum número?

Sabes a diferenca entre um número inteiro e um de virgula flutuante?

Como curiosidade pessoal, para que precisas da representacão binária dum número de virgula flutuante?

É que isto

0.1100001110110110010001011010000111001010110000001

Não existe. Um número binário não tem ponto. Como é que chegaste a este valor, já agora?

Lê isto -> http://www.ece.uah.edu/courses/ee448/chapter1.pdf , serve para uma máquina de 64 bits, mas podes procurar pela norma indicada em cima e ver outros formatos.


include <ai se te avio>

Mãe () {

}

Share this post


Link to post
Share on other sites
fckool

Lá porque ninguém te responde, não assumas o que não sabes.

Estás a perguntar sobre uma funcão duma linguagem específica num fórum para programacão. Da última vez que usei o Matlab, os principais usos eram para a simulacão de sistemas e cálculo matemático... coisa que não é de todo o objectivo do Portugal-a-Programar. Certamente encontrarás ajuda nos fóruns da Mathworks. Por isso, não desdenhes.

Como ajuda...

O formato de números floating point do MatLab é a IEEE 754, pesquisa por documentos sobre essa norma.

Sabes o que é a representacão binária dum número?

Sabes a diferenca entre um número inteiro e um de virgula flutuante?

Como curiosidade pessoal, para que precisas da representacão binária dum número de virgula flutuante?

É que isto

Não existe. Um número binário não tem ponto. Como é que chegaste a este valor, já agora?

Lê isto -> http://www.ece.uah.edu/courses/ee448/chapter1.pdf , serve para uma máquina de 64 bits, mas podes procurar pela norma indicada em cima e ver outros formatos.

Não existe?

http://www.digitconvert.com/

Experimenta.

Contudo já arranjei solução. Multipliquei os valores por 10 000, em seguida fiz um floor para tirar as casas decimais, fiz o modulo para números negativos juntamente com um vector de sinais para saber a posição de cada um para no fim voltar a transforma-los.

Estou a usar a função mp3read para ler um mp3 e codificar em ASK e FSK

Obrigado pela ajuda anyway.

Share this post


Link to post
Share on other sites
bubulindo

Não existe?

http://www.digitconvert.com/

Experimenta.

Acabaste de provar que não sabes o que é a representação binária dum número...

Contudo já arranjei solução. Multipliquei os valores por 10 000, em seguida fiz um floor para tirar as casas decimais, fiz o modulo para números negativos juntamente com um vector de sinais para saber a posição de cada um para no fim voltar a transforma-los.

Estou a usar a função mp3read para ler um mp3 e codificar em ASK e FSK

Obrigado pela ajuda anyway.

Se isso funciona... tudo bem. Mas para que precisas do valor em binário?


include <ai se te avio>

Mãe () {

}

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.