clear fid=fopen('文件名','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(size(c)); for ii=1:size(c,1); if s(ii) out(ii)=double(c(ii))-2^16; else out(ii)=double(c(ii)); end end