¿Cómo utilizar matlab para convertir un número hexadecimal a un número binario de 16 bits y luego a un número decimal con signo después de ignorar los dos dígitos más altos del número binario?
Borrar
fid=fopen('filename','r');
a=fscanf(fid,'%s');
fclose(fid );
b=reshape(a,[4,length(a)/4])';
c= uint16(hex2dec(b));
x=dec2bin(c);
s=bitget(c,14
c=bitset(c,15,s); c=bitset(c,16,s);
out=zeros(tamaño (c));
para ii=1:tamaño(c,1);
si s(ii)
fuera(ii)=double(c(ii))-2^16;
si no
fuera( ii)=double(c(ii));
end
end
out es el resultado final
.