#include "iostream.h"
#include "string.h"
#define MAX 100//定义长度为100的数组上限
void main()
{
int i,j,k,t,temp;
char a[]="this is test";
int b[MAX];//存放二进制字节流
char c[MAX];//存放由二进制还原的字符
temp=strlen(a);
for(k=0;k<temp;k++)
{
for(i=7;i>=0;i--)
{
t=a[k]/2;
b[8*k+i]=a[k]%2;
a[k]=t;
}
}
for(i=0;i<temp*8;i++)
{
if((i+1)%8==0)//每8位为一行输出,
cout<<b[i]<<endl;
else
cout<<b[i];
}
for(i=0;i<temp;i++)//每8位为一个字节进行还原
{
t=1;
c[i]=0;
for(j=7;j>=0;j--)
{
c[i]+=b[8*i+j]*t;
t*=2;
}
}
for(i=0;i<temp;i++)//输出字符
cout<<c[i];
#include "string.h"
#define MAX 100//定义长度为100的数组上限
void main()
{
int i,j,k,t,temp;
char a[]="this is test";
int b[MAX];//存放二进制字节流
char c[MAX];//存放由二进制还原的字符
temp=strlen(a);
for(k=0;k<temp;k++)
{
for(i=7;i>=0;i--)
{
t=a[k]/2;
b[8*k+i]=a[k]%2;
a[k]=t;
}
}
for(i=0;i<temp*8;i++)
{
if((i+1)%8==0)//每8位为一行输出,
cout<<b[i]<<endl;
else
cout<<b[i];
}
for(i=0;i<temp;i++)//每8位为一个字节进行还原
{
t=1;
c[i]=0;
for(j=7;j>=0;j--)
{
c[i]+=b[8*i+j]*t;
t*=2;
}
}
for(i=0;i<temp;i++)//输出字符
cout<<c[i];
}