Binary to Signed decimal in MATLAB

28 次查看(过去 30 天)
Hello,
I have a 64x1 workspace variable,where each value is of 16 bits.
I need to convert each of them into signed decimal value, which would span the entire range of signed 16 bit numbers from -32768 to +32767.
I tried bin2dec() but it provides only an unsigned value.
Kindly help.
  3 个评论
Aparna
Aparna 2012-5-25
Hello,
thanks for replying!
-32768 = 1000000000000000 , in our code.
We used the following line while converting into binary from decimal
k=dec2bin(typecast(int16(-32768),'uint16'))
Thank you for ur help
Aparna
Aparna 2012-5-25
Basically, it is two's compliment conversion.

请先登录,再进行评论。

采纳的回答

Friedrich
Friedrich 2012-5-25
Hi,
can't you simply do the inverse way to get it back? Or am I missing something here?
typecast(uint16(bin2dec('1000000000000000')),'int16')

更多回答(2 个)

Titus Edelhofer
Titus Edelhofer 2012-5-25
Hi,
then I guess the other way round should do the trick as well:
typecast(uint16(bin2dec('1000000000000000')), 'int16')
Titus

Aparna
Aparna 2012-5-25
@ friedrich, Thanks a lot :)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by