为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

计算余数的二进制除法

2018-01-18 4页 doc 18KB 77阅读

用户头像

is_266065

暂无简介

举报
计算余数的二进制除法计算余数的二进制除法 计计计计计算余数的二制除法,异或, 第一步:要在数据位,被除数,后计计 0 , 0 的个数比除数,生成多式,少一位。计计计计计计计第二步:做除法(异或操作),从被除数的五位减去五位的除数。除数的计计计计计一位都与每被除数的位在不计计计计计计计计计计计计计计计计计计计计计及上一位的情况下独立行减法,行涉的是模 2 加,。在本例中,除数 11001 与被除数的前五位 10110 计 行的是模2 加,得到 1111 ,余数 1 前面的 0 被省略,。在被除数中下一个没有使用的比特接着被计计计计计计计抄下来,使...
计算余数的二进制除法
计算余数的二进制除法 计计计计计算余数的二制除法,异或, 第一步:要在数据位,被除数,后计计 0 , 0 的个数比除数,生成多式,少一位。计计计计计计计第二步:做除法(异或操作),从被除数的五位减去五位的除数。除数的计计计计计一位都与每被除数的位在不计计计计计计计计计计计计计计计计计计计计计及上一位的情况下独立行减法,行涉的是模 2 加,。在本例中,除数 11001 与被除数的前五位 10110 计 行的是模2 加,得到 1111 ,余数 1 前面的 0 被省略,。在被除数中下一个没有使用的比特接着被计计计计计计计抄下来,使得余数的位数和除数的位数相同。如果计计计计计计计计计计计计计计计计计计计计计计 位数不,在商位计计计计计计 0 ,与一般除法相同,,因此,下一计计计 就是步11110^11001 ,果是计计计 111 ,依次推。在二制除法中,除数是以计计计计计计计计计计计计计计计计 1 计计的,然后从上一次的被除数 / 余数中与除数位数相同的部分中减去除数,并且只能从最左位是 1 的被除数 / 余数中减去除数。当被除数每 / 余数的最左位是 0 计计计 ,就在中把步0 计弃,再把被除数中的下一个未使用比特抄下来填充余数,同的商数计计计计计计计计计计计计计计计位一个零,并按上述方法行二制除法运算,一直计计计计计计计计计计计计计计计计计计计计计计计 重个程直到被除数中所有比特都被使用。计计计计计计计计计计计计计计计计计计计计计 余数 100 只有 3 位,而余数计计 4 位,比除数少一位,,因此,取校在前面计计计计计计计填一个 0 ,故其 CRC 校计计计计 0100 ,于是可求出信息的循冗余计计计计计计计计计计计 101100110100 。 计计计计计计计计计计计计计计计计 了判断的正确性,在接收端要有一个CRC 校器。它的计计计计计功能和生器一,当收到计计计计计计计计计 CRC 冗余校后,做同的模计计计计计计计计计 2 除法,注意,里采用的生成多式一定要与送端相同,。如计计计计计计计计计计计计计计计计计计计计计计 果余数是全 0 ,明正确,否,,重。计计计计计计计计计计计计计计计计计计计计 【itoa函数可以将整型数字二制字符串】计计计计计计计计计 1 #include 2 #include 3 #include 4 char res[33]; 5 unsigned int data,g,a[33]={0, 6 0x00000001,0x00000002,0x00000004,0x00000008,0x00000010,0x00000020,0x00000040,0x000 00080, 7 0x00000100,0x00000200,0x00000400,0x00000800,0x00001000,0x00002000,0x00004000,0x000 08000, 8 0x00010000,0x00020000,0x00040000,0x00080000,0x00100000,0x00200000,0x00400000,0x008 00000, 9 0x01000000,0x02000000,0x04000000,0x08000000,0x10000000,0x20000000,0x40000000,0x800 00000 10 }; 11 unsigned int str_int(unsigned int *d)12 { 13 unsigned int i=0,t=0; 14 char str[40]; 15 scanf("%s",str); 16 while (str[i]!='\0'){ 17 t<<=1; 18 t|=str[i]-48; 19 i++; 20 } 21 *d=t; 22 return i; 23 } 24 unsigned int GetData(unsigned int i){ return data&a[32-i+1]?1:0;} 25 int main() 26 { 27 unsigned int l1,l2,l3,r,i,cas; 28 printf("计计计计计计计理多少条送数据,\n"); 29 scanf("%d",&cas);30 while (cas--){ 31 //计计计计计取待送数据k位 32 printf("计计计计计入待送数据M(不高于32位):");33 l1=str_int(&data);34 //计取除数n位 35 printf("计入除数p(不高于%d位):",32-l1+1);36 l2=str_int(&g);37 //将待送数据右移计计计计计计n-1位 38 data<<=(l2-1);39 l1+=(l2-1); 40 //模2除求余数 41 r=0;i=32-l1+1;42 while (i<=32){43 r<<=1; 44 r|=GetData(i);45 if(r>=a[l2]) r^=g; 46 i++; 47 } 48 //计计计出果 49 data>>=(l2-1);50 printf("计计送:%s",itoa(data,res,2));51 itoa(r,res,2);52 l3=strlen(res);53 for(i=l3;i
/
本文档为【计算余数的二进制除法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索