📄 qpsk_kprm.cpp
字号:
#include <stdio.h>
struct fushu
{
int shibu;
int xubu;
};
fushu product(fushu A,fushu B)
{
fushu C;
C.shibu=A.shibu*B.shibu-A.xubu*B.xubu;
C.xubu=A.xubu*B.shibu+A.shibu*B.xubu;
return C;
}
main()
{
fushu A[4];
fushu B[16]={0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1};
fushu C[16]={0,-1,1,0,0,1,1,0,0,-1,1,0,0,-1,1,0,0,-1,1,0,0,1,1,0,0,1,-1,0,0,-1,-1,0};
fushu D[16];
fushu E[16];
int i,m,n,j=0,k=0;
int input[8]={1,0,1,1,0,1,0,0};
for(i=0;i<8;i=i+2)
{
if((input[i]==0)&&(input[i+1]==0)) {A[j].shibu=0; A[j].xubu=1; j++;}
if((input[i]==0)&&(input[i+1]==1)) {A[j].shibu=1; A[j].xubu=0; j++;}
if((input[i]==1)&&(input[i+1]==0)) {A[j].shibu=-1; A[j].xubu=0;j++;}
if((input[i]==1)&&(input[i+1]==1)) {A[j].shibu=0; A[j].xubu=-1; j++;}
}
for(m=0;m<4;m++)
{
for(n=4*m;n<4*(1+m);n++)
D[k++]=product(A[m],B[n]);
}
for(i=0;i<16;i++)
{
E[i]=product(C[i],D[i]);
}
printf("该复数乘法的运算结果是:");
for(i=0;i<4;i++)
{
printf(" %d+%dj ", A[i].shibu,A[i].xubu);
}
printf("\n");
for(i=0;i<16;i++)
{
printf(" %d+%dj ", B[i].shibu,B[i].xubu);
}
printf("\n");
for(i=0;i<16;i++)
{
printf(" %d+%dj ", D[i].shibu,D[i].xubu);
}
printf("\n");
for(i=0;i<16;i++)
{
printf(" %d+%dj ", E[i].shibu,E[i].xubu);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -