MATLAB: Converting binary to decimal

bin2dec

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

Best Answer

  • 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.