MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today**New to MATLAB?**

Asked by 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

*No products are associated with this question.*

Answer by Image Analyst
on 19 Jan 2013

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

## 0 Comments