two_complement.m.svn-base
来自「这是一个用来控制机器人ePuck的matlab GUI.通过它」· SVN-BASE 代码 · 共 23 行
SVN-BASE
23 行
function value=two_complement(rawdata)
if (mod(max(size(rawdata)),2) == 1)
error('The data to be converted must be 16 bits and the vector does not contain pairs of numbers')
end
value=zeros(1,max(size(rawdata))/2);
j=1;
for i=1:2:max(size(rawdata))
if (bitget(rawdata(i+1),8)==1) % Negatif number -> two'complement
value(j)=-(invert_bin(rawdata(i))+bitshift(invert_bin(rawdata(i+1)),8)+1);
else
value(j)=rawdata(i)+bitshift(rawdata(i+1),8);
end
j=j+1;
end
function value=invert_bin(value)
for i=1:8
value=bitset(value,i,mod(bitget(value,i)+1,2));
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?