?? decrc.cpp
字號:
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
int *decrc_12(int *string_decrc)
{
int *p_decrc = (int *)malloc(200*sizeof(int));
static int string_afterdecrc[173]; //加一判斷位
int i;
int j=0;
int poly_decrc[13]={1,1,1,1,1,0,0,0,1,0,0,1,1};
for(i=0;i<=183;i++)
{
*(p_decrc+i)=*(string_decrc+i);
}
*(p_decrc+184)=2;
/* for(i=0;i<=171;i++) // 信息比特
{
string_aftercrc[i]=*(p_crc+i);
}
for(i=1;i<=12;i++) // 補12個0
{
*(p_crc+171+i)=0;
} */
while(j<=171)
{
for(i=0;i<=12;i++) // 異或
{
*(p_decrc+i)=*(p_decrc+i)^poly_decrc[i];
}
i=0;
while(*(p_decrc+i)==0)
{
i++;
}
p_decrc=p_decrc+i; // 移位
j=j+i;
}
for(i=0;i<=171;i++)
{
string_afterdecrc[i]=*(string_decrc+i);
}
if(*(p_decrc)==2)
{
string_afterdecrc[172]=1;
}
else
{
string_afterdecrc[172]=0;
}
return (string_afterdecrc);
}
void main()
{
int string[192]={1,0,1,1,0,0,1,1,0,1,
1,0,1,1,0,0,1,1,0,1,
1,0,1,1,0,0,1,1,0,1,
1,0,1,1,0,0,1,1,0,1,
1,0,1,1,0,0,1,1,0,1,
1,0,1,1,0,0,1,1,0,1,
1,0,1,1,0,0,1,1,0,1,
1,0,1,1,0,0,1,1,0,1,
1,0,1,1,0,0,1,1,0,1,
1,0,1,1,0,0,1,1,0,1,
1,0,1,1,0,0,1,1,0,1,
1,0,1,1,0,0,1,1,0,1,
1,0,1,1,0,0,1,1,0,1,
1,0,1,1,0,0,1,1,0,1,
1,0,1,1,0,0,1,1,0,1,
1,0,1,1,0,0,1,1,0,1,
1,0,1,1,0,0,1,1,0,1,
1,0,1,1,0,0,1,1,0,1,
1,0,1,1,0,0,1,1,0,1,1,1};
int i=0;
int *s;
s= decrc_12(string);
if(*(s+172)==1)
{
for(i=0;i<=171;i++)
{printf("%d",*(s+i));}
printf("\n\nfrefre");
}
else
{
printf("wrong\n\nfrefre");
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -