#include <stdio.h>
#define maxSize 64
void input()
{
FILE *fp;
int bin[maxSize];
int a[maxSize];
int index = 0;
int flag = 0;
int i = 0;
int temp = 0;
fp = fopen("AMI.txt", "r");
if (fp == NULL)
{
printf("数据错误!");
return;
}
while (1)
{
flag = fscanf(fp, "%d", &bin[index]);
if (flag == EOF)
{
break;
}
index++;
}
if (flag)
{
printf("AMI编码后:");
for (i = 0; i < index; i++)
{
if (bin[i] == 0)
{
output(bin[i]);
a[i] = bin[i];
}
else
{
temp++;
a[i] = (temp & 0x01) ? 1 : -1;
output(a[i]);
}
printf("%d ", a[i]);
}
}
printf("\n");
fclose(fp);
}
int output(int bin){
FILE *fp;
char enter = '\n';
fp = fopen("AMIOputput.txt","a");
if(fp == NULL){
printf("数据错误!");
return;
}
fprintf(fp,"%d",bin);
fclose(fp);
}
int main()
{
input();
return 0;
}
AMI.txt : 1 0 0 110 0 1 0 1 0 1
AMIOputput.txt: 1 0 0 -110 0 -1 0 1 0 -1