Binary to Signed decimal in MATLAB

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

Friedrich
Friedrich 2012년 5월 25일
How the values are stored? Is it two's complement (so sixteen 1 would be -1) or the classy way where sixteen ones would be -32768?
Can you give us one example and the value you expect?
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일

2 개 추천

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일

0 개 추천

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일

0 개 추천

@ friedrich, Thanks a lot :)

카테고리

도움말 센터File Exchange에서 Logical에 대해 자세히 알아보기

질문:

2012년 5월 25일

Community Treasure Hunt

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

Start Hunting!

Translated by