function [q,l,r,m]=mod2_div(a,n,b,k)
%crc循环冗余算法,即计算二进制数的模2除法运算
%b为生成项'11000000000000101'长度为k=17,a为信息码,添加k-1个0后总长度为n
%q为商,长度为l,r为余数,长度为m
clear;
clc;
sj='1111100000101010010101101100101101011110' %c为信息码5字节
sj(41:368)='0' %保证信息部分最小长度为46字节
b='100000100110000010001110110110111'
sj(369:400)='0' %信息码为'111110000010101001',添加32个0
%a='11111000001010100000000000000000'; %信息码为'1111100000101010',添加16个0
n=length(sj)
k=length(b)
l=n-k+1; %l为商的长度
m=k-1;
res=sj(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 %取出的和生成多项式同长度的数据与生成多项式进行异或,并把异或结果存入res
end
res(1:k-1)=res(2:k);
res(k)=sj(k+i); %取出下一位数据
else
q(i)='0'; %如果取出的数据第一位为0,则取下一位数据
res(1:k-1)=res(2:k);
res(k)=sj(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
sj(369:400)=r
fcs=r

依然风yrlf
- 粉丝: 1546
最新资源
- 上海市建设工程建筑渣土承运合同.doc
- 办公大楼综合布线系统设计方案二.doc
- GMP培训教材-提取车间安全生产操作知识解释问答.doc
- 普外科出科考试试题.doc
- 广东高速公路桥梁墩柱施工技术交底.doc
- 财务工资管理系统解决方案.doc
- VDA6.3-提问表(潜在供方分析P1).docx
- 华为技术有限公司是一家生产销售通信设备的民营通信科技公司.doc
- 中石化物流培训方案-3-16.doc
- 土石方开挖放坡系数计算法.doc
- 磨床砂轮主轴热处理工艺设计周延源.docx
- 2023年云计算云服务考试试题答案解析试题库完整.doc
- -培训与开发(习题).doc
- HR试题新版.docx
- 如何提高物流配送水平精.doc
- 软件著作权申请截图完整的要求.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


