• Post Reply Bookmark Topic Watch Topic
  • New Topic

bytes to double  RSS feed

 
Antonio Manes
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have a byte[]; these bytes represent audio samples with tipically 8 or 16 bits per samples and big or little endian order.
How can I get the original double (float) values of the samples?

I am a beginner in Java so I posted this here. I hope it's the right section!
 
Henry Wong
author
Sheriff
Posts: 23295
125
C++ Chrome Eclipse IDE Firefox Browser Java jQuery Linux VI Editor Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Well, if these bytes conform to the standard IEEE 754 floating point format, you can easily transfer the bits to float or double. Either...

1. Using the java.lang.Float and java.lang.Double class that has methods to take bits from ints or longs to floats or doubles. So you can use the shifting and AND operators to get the bytes into place and then use those methods.

2. Or you can use the java.nio.ByteBuffer class, which has methods that does what you want -- including taking care of the Big or Little Endian.

Of course, this all assumes that the bytes conform to the floating point standard.

Henry

 
Antonio Manes
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks for your help! I will try it soon.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!