⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 encode37.c

📁 从国外ECC网站上找到的
💻 C
字号:
/* Encode standard input in the r=1/3 K=7 standard convolutional code.
 * Encoded output is big-endian, one byte per symbol, with 1 represented
 * by 255 and 0 by 0
 */

#include <stdio.h>
#include "viterbi37.h"

extern unsigned char Partab[];	/* Parity lookup table */

main(int argc,char *argv[])
{
  unsigned int encstate;
  int c,i;
	
  encstate = 0;
  while((c = getchar()) != EOF){
    for(i=7;i>=0;i--){
      encstate = (encstate << 1) | ((c >> 7) & 1);
      c <<= 1;
      /* 1-sym -> 255, 0-sym -> 0 */
      putchar(0 - Partab[encstate & POLYA]);
      putchar(0 - Partab[encstate & POLYB]);
      putchar(0 - Partab[encstate & POLYC]);
    }
  }
  /* Generate tail */
  for(i=5;i>=0;i--){
    encstate = encstate << 1;
    putchar(0 - Partab[encstate & POLYA]);
    putchar(0 - Partab[encstate & POLYB]);
    putchar(0 - Partab[encstate & POLYC]);
  }
  return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -