converting binary to decimal

3 views (last 30 days)
FIR
FIR on 19 Jan 2013
i have a value as S=-5
i converted it to binary by
Cw1=dec2bin(typecast(int16(S),'uint16'),15)
now how to convert again to -5
plz assist

Accepted Answer

Image Analyst
Image Analyst on 19 Jan 2013
Why are you using uint16 when you have a negative number?????
Anyway,...
S = -5;
Cw1=dec2bin(typecast(int16(S),'uint16'),15)
S_recovered = bin2dec(Cw1)
maxUint16 = intmax('uint16')
maxInt16 = intmax('int16')
if S_recovered > maxInt16
S_recovered = int16(S_recovered - double(maxUint16) - 1)
end
S_recovered will be -5 as a signed 16 bit integer, which is what I assume you want.

More Answers (1)

Walter Roberson
Walter Roberson on 19 Jan 2013
typecast(bin2dec(Cw1), 'int16')
  2 Comments
FIR
FIR on 21 Jan 2013
Walter i get
typecast(bin2dec(Cw1), 'int16')
ans =
0 0 -160 16623
Walter Roberson
Walter Roberson on 21 Jan 2013
typecast(uint16(bin2dec(Cw1)),'int16')

Sign in to comment.

Categories

Find more on Data Type Conversion in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!