// ---------------------------------------------------------------------------- | // 标题: 曼彻斯特和差分曼彻斯特编码的实现 | // 分析:曼彻斯特编码是将每个码元的中央实现跳变,具体的码字表示为: | // 1->10,0->01. | // 差分曼彻斯特编码每个码元依前一码元而定,遇1跳变,遇0保持 | // 若前为:01,则1->10 0->01 | // 若前为:10,则1->01 0->10 | // 实现:定义两个数组,一个用来放置输入要编码的序列,另一个用来放编码后的序列 | // | // | // ---------------------------------------------------------------------------- /**/ // 头文件 #include < stdio.h > #include < assert.h > #include < string .h > /**/ // 全局变量 #define M 10 int j; // 指向编码后序列的数组下标 int i; // 输入码字的数组下标 int length; // 求值输入数组的长度 /**/ // 参数表 int Direct_code( char str0[]) // 直接编码 ... { char dirct_code[2*M]; memset(dirct_code,0,2*M); dirct_code[0]='0'; dirct_code[1]='1'; j=2; extern length; for(i=0;i<length;i++) ...{ // 循环入口数据 printf("current character is: %c