还剩2页未读,继续阅读
文本内容:
C语言实现PCM-A律编码、解码
1、C语言实现pcmA律编码includestdio.h#includemath.hvoidmain{intaijm=ln;intb
[8]={0};intc
[8]={3264128256512102420484096;printf〃请输入幅度〃;scanfa;ifa0{b
[0]=0;a=absa;elseb
[0]=l;fori=0;i7;i++{ifac[i]break;switchicase0:b[l]=0;b
[2]=0;b
[3]=0;break;case1:b[l]=0;b
[2]=0;b
[3]=l;break;case2:b[l]=0;b
[2]=l;b
[3]=0;break;case3:b[l]=0;b
[2]=l;b
[3]=l;break;case4:b[l]=l;b
[2]=0;b
[3]=0;brcak;case5:b[l]=l;b
[2]=0;b
[3]=l;break;case6:b[l]=l;b
[2]=l;b
[3]=0;break;case7:b[l]=l;b
[2]=l;b
[3]=l;break;ifi==O{n=0;m=2;}elsen=c[i-l];forj=0;ji;j++m=2*m;a=a-n/in;b
[4]=a/8;b[5J=a-b
[4]*8/4;b
[6]=a-b
[4]*8-b
[5]*4/2;b
[7]=a-b
[4]*8-b
[5]*4-b
[6]*2;fori=0;i8;i++printf〃版1b[i];while1;
2、C语言实现pcm_A律解码#includestdio.h#includemath.hvoidmainO{intijmn=32ky;inta
[8]={0};fori=0;i8;i++{prinlf请输入PCM编码a[%d]:〃,i;scanf〃机Ta[i];m=a
[1]*4+a
[2]*2+a
[3];i=m:ifm-0n=0;elsewhile--in=n*2;k=a
[4]*8+a
[5]*4+a
[6]*2+a
[7];ifm=ly=n+k*2+l;elsey=n+k*n/16+n/32;ifa
[0]==0y=-y;printf〃输入编码的幅度为:%d\n〃y;whi1e1;、roriN・i111电脑pcK^gsS«iqi.Rg11。