⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 two_complement.m.svn-base

📁 这是一个用来控制机器人ePuck的matlab GUI.通过它
💻 SVN-BASE
字号:
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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -