Binary to Signed decimal in MATLAB

23 ビュー (過去 30 日間)
Aparna
Aparna 2012 年 5 月 25 日
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')
  1 件のコメント
Titus Edelhofer
Titus Edelhofer 2012 年 5 月 25 日
;-)

サインインしてコメントする。

その他の回答 (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 Center および File ExchangeLogical についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by