mod2_div.m

来自「CRC-16的编解码程序和仿真结果。统计了漏检概率随错误比特数目的曲线。」· M 代码 · 共 56 行

M
56
字号
function [q,l,r,m]=mod2_div(a,n,b,k)
%计算二进制数的模2除法运算
%a为长度为n的被除数,b为长度为k的除数 n>k
%q为商,长度为l,r为余数,长度为m

%clear;
%clc;
%a='11111000001010100000000000000000';
%b='11000000000000101';
%n=length(a);
%k=length(b);



l=n-k+1;
m=k-1;

res=a(1:k);

for i=1:l-1
    if res(1)=='1'
        q(i)='1';
        for j=1:k
            if res(j)==b(j)
                res(j)='0';
            else
                res(j)='1';
            end
        end
        res(1:k-1)=res(2:k);
        res(k)=a(k+i);
        
    else
        q(i)='0';
        res(1:k-1)=res(2:k);
        res(k)=a(k+i);
    end
end

if res(1)=='1'
    q(l)='1';
    for j=1:k
        if res(j)==b(j)
            res(j)='0';
        else
            res(j)='1';
        end
    end
    r=res(2:k);
else
    q(l)='0';
    r=res(2:k);
end

    

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?