您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > C语言实现PCM-A律编码、解码
1、C语言实现pcm_A律编码includestdio.h#includemath.hvoidmain(){inta,i,j,m=1,n;intb[8]={0};intc[8]={32,64,128,256,512,1024,2048,4096};printf(请输入幅度:);scanf(%d,&a);if(a0){b[0]=0;a=abs(a);}elseb[0]=1;for(i=0;i7;i++){if(ac[i])break;}switch(i){case0:b[1]=0;b[2]=0;b[3]=0;break;case1:b[1]=0;b[2]=0;b[3]=1;break;case2:b[1]=0;b[2]=1;b[3]=0;break;case3:b[1]=0;b[2]=1;b[3]=1;break;case4:b[1]=1;b[2]=0;b[3]=0;break;case5:b[1]=1;b[2]=0;b[3]=1;break;case6:b[1]=1;b[2]=1;b[3]=0;break;case7:b[1]=1;b[2]=1;b[3]=1;break;}if(i==0){n=0;m=2;}else{n=c[i-1];for(j=0;ji;j++)m=2*m;}a=(a-n)/m;b[4]=a/8;b[5]=(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;for(i=0;i8;i++){printf(%d,b[i]);}while(1);}2、C语言实现pcm_A律解码#includestdio.h#includemath.hvoidmain(){inti,j,m,n=32,k,y;inta[8]={0};for(i=0;i8;i++){printf(请输入PCM编码a[%d]:,i);scanf(%d,&a[i]);}m=a[1]*4+a[2]*2+a[3];i=m;if(m==0)n=0;elsewhile(--i)n=n*2;k=a[4]*8+a[5]*4+a[6]*2+a[7];if(m=1)y=n+k*2+1;elsey=n+k*n/16+n/32;if(a[0]==0)y=-y;printf(输入编码的幅度为:%d\n,y);while(1);}
本文标题:C语言实现PCM-A律编码、解码
链接地址:https://www.777doc.com/doc-4775928 .html