📄 线性逼近表.cpp
字号:
#include<iostream.h>
#include<stdlib.h>
#include<iomanip.h>
void main()
{
int i,j,k,p,q,x,y,z=0,l=0,sum[16][16],flag[8];
char f[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
char flga[4],flgb[4];
int a[16][4]={{0,0,0,0},{0,0,0,1},{0,0,1,0},{0,0,1,1},{0,1,0,0},{0,1,0,1},{0,1,1,0},{0,1,1,1},
{1,0,0,0},{1,0,0,1},{1,0,1,0},{1,0,1,1},{1,1,0,0},{1,1,0,1},{1,1,1,0},{1,1,1,1}};
int b[16][4]={{1,0,0,0},{0,1,0,0},{0,0,1,0},{0,0,0,1},{1,1,0,0},{0,1,1,0},{0,0,1,1},{1,1,0,1},
{1,0,1,0},{0,1,0,1},{1,1,1,0},{0,1,1,1},{1,1,1,1},{1,0,1,1},{1,0,0,1},{0,0,0,0}};
int c[16][4]={{1,1,1,0},{0,1,0,0},{1,1,0,1},{0,0,0,1},{0,0,1,0},{1,1,1,1},{1,0,1,1},{1,0,0,0},
{0,0,1,1},{1,0,1,0},{0,1,1,0},{1,1,0,0},{0,1,0,1},{1,0,0,1},{0,0,0,0},{0,1,1,1}};
for(x=0;x<16;x++)
for(y=0;y<16;y++)
{
int za=x;
int zb=y;
int disps=1<<3;
for(i=0;i<4;i++) //将a,b转换成四位二进制序列
{
flga[i]=(za&disps ? '1':'0');
flgb[i]=(zb&disps ? '1':'0');
za<<=1;
zb<<=1;
}
for(i=0;i<16;i++) //计算异或为零的个数。
{if(((flga[0]&a[0][i])^(flga[1]&a[1][i])^(flga[2]&a[2][i])
^(flga[3]&a[3][i])^(flgb[0]&c[0][i])^(flgb[x]&c[1][i])
^(flgb[2]&c[2][i])^(flgb[3]&c[3][i]))==0)
l++;}
sum[x][y]=l;
l=0;
}
cout<<" * b "<<endl;
cout<<" * * * * * * * * * * * * * * * * * * * * * * * * * * "<<"\n";
cout<<" a * "<<setw(3);
for(i=0;i<16;i++)
cout<<f[i]<<setw(3);
cout<<"\n"<<"* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *"<<"\n";
for(i=0;i<16;i++)
{
cout<<" "<<f[i]<<" * "<<setw(3);
for(j=0;j<16;j++)
{
cout<<sum[i][j]<<setw(3);
}
cout<<endl;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -