全文预览

计算机网络课程设计 帧封装

上传者:苏堤漫步 |  格式:docx  |  页数:20 |  大小:95KB

文档介绍
束后R即为FCS。Р(3)将R左移1位,并将b添加到R的最低位,判断R的最高位,如果是0,则继续(3),如果是1,则将R和P进行按位与操作,结果保存到R中。Р图5.4.1 CRC流程图Р相应的流程图如图5.4.1所示,其实现如下,其中curByte为一个字节,currentR为从开始到现在已经循环计算所得的余数。Рpublic static int nextR(int currentR, int curByte) {Р int mask = 0X80;Р int curBit = 0;Р for (int i = 0; i < 8; ++i, mask >>= 1) {Р // 计算当前位,0或者1Р curBit = (curByte & mask) == 0 ? 0X0 : 0X1;Р // 首先将余数左移1位,并把当前位添加到余数的最低位Р currentR <<= 1;Р currentR += curBit;Р // 判断余数最高位是否为0Р // 若为1,则将除数和余数进行异或操作,将结果保存为余数Р if ((currentR & MASK_HIGH) != 0) {Р currentR = currentR ^ P;Р }Р }Р return currentR;Р?}Р源代码Рimport java.io.File;Рimport java.io.FileInputStream;Рimport java.io.FileOutputStream;Рimport java.io.IOException;Рimport java.io.InputStream;Рimport java.io.OutputStream;Рimport java.util.LinkedList;Рimport java.util.List;Рpublic class framer {

收藏

分享

举报
下载此文档