手机版

程序源代码

时间:2025-07-14   来源:未知    
字号:

        程 序 源 代 码
第一部分:相对算法代码
(一)提零压缩生成流密文程序
#include"iostream.h"
#include"math.h"
#include"stdlib.h"
#include"time.h"
#include"stdio.h"
#include"fstream.h"
#include"io.h"

char getword(FILE *fp)
{int *s;
int i;
s=&i;
s[0]=getc(fp);
s[1]=getc(fp);
return (i);}//读入一个字

int position(int a,int b)//求数组元素之间相对关系的函数:0表示与本身同性;而1反之
{
if((a&&b)||(!a&&!b))
return 0;
else
return 1;
}

int main()
{ static unsigned char alawbyte[50000];//存放A率压缩后的样值
static int data[50000];
long offset=0;
int i;
int j=0;
int k=0;
long samples=0;
static int bitstream[50000];
static int bit[50000];//总的关系比特流
static int a[50000];//存放非零元素的数组
static int abit[50000];//存放非零元素数组的关系比特流
static int b[50000];//存放零元素的数组
static int bbit[50000];//存放零元素数组的关系比特流
int l=0;int m,n,t=0;
FILE *fp;
if((fp=fopen("m8000-1out_high.wav","rb"))==NULL)
{ printf("cannot open file");
exit(0);}
i=0;
while(!feof(fp))
{ bitstream[i]=getc(fp);
i++;}
for(k=0;k<16;k++)
printf("%d",bitstream[k]);

k=0;m=0;n=0;
for(j=0;j<i;j++)
{
bit[k]=position(bitstream[j],bitstream[j+1]);
k++;
if(bitstream[j])
{
a[m]=bitstream[j];
abit[m]=position(bitstream[j],bitstream[j+1]);
m++;
}
else
{
b[n]=bitstream[j];
bbit[n]=position(bitstream[j],bitstream[j+1]);
n++;
}
}

for(l=0;l<10;l++)
printf("%d",abit[l]);
printf("\n");
for(l=0;l<10;l++)
printf("%d",bbit[l]);
ofstream out1("G723.1编码提零压缩后的比特流密文a.wav",ios::binary);//存放最终转换好的比特流文件
if(!out1)
{printf("Cannot open output file.\n!");
return 1;}
offset=0;
out1.seekp(offset,ios::beg);
for(t=0;t<=m-1;t++)
{out1.write((char *)&a[t],2);}
out1.close();

ofstream out3("G723.1编码提零压缩后的零元素的数组b.wav",ios::binary);//存放最终转换好的比特流文件
if(!out3)
{printf("Cannot open output file.\n!");
return 1;}
offset=0;
out3.seekp(offset,ios::beg);
for(t=0;t<=n-1;t++)
{out3.write((char *)&b[t],1);}
out3.close();


ofstream out4("G723.1编码提零压缩后的相对关系bbit.wav",ios::binary);//存放最终转换好的比特流文件
if(!out4)
{printf("Cannot open output file.\n!");
return 1;}
offset=0;
out4.seekp(offset,ios::beg);
for(t=0;t<=n-1;t++)
{out4.write((char *)&bbit[t],1);}
out4.close();


ofstream out2("G723.1编码提零压缩后的相对关系abit.wav",ios::binary);//存放最终转换好的比特流文件
if(!out2)
{printf("Canno
t open output file.\n!");
return 1;}
offset=0;
out2.seekp(offset,ios::beg);
for(t=0;t<=m-1;t++)
{out2.write((char *)&abit[t],1

…… 此处隐藏:155字,全部文档内容请下载后查看。喜欢就下载吧 ……
程序源代码.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)