converting binary to decimal

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

 Akzeptierte Antwort

Image Analyst
Image Analyst am 19 Jan. 2013

0 Stimmen

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.

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 19 Jan. 2013

0 Stimmen

typecast(bin2dec(Cw1), 'int16')

2 Kommentare

FIR
FIR am 21 Jan. 2013
Walter i get
typecast(bin2dec(Cw1), 'int16')
ans =
0 0 -160 16623
typecast(uint16(bin2dec(Cw1)),'int16')

Melden Sie sich an, um zu kommentieren.

Kategorien

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by