📄 5.cpp
字号:
#include<iostream.h>
#include<stdio.h>
#include<string.h>
int power(int a1,int a2)
{
int a3=1,a4;
if(a2==0||a1==1)
{
a3=1;
}
else
if(a1==0)
a3=0;
else
for(a4=1;a4<=a2;a4++)
{
a3=a3*a1;
}
return a3;
}
void f(int i,int j)
{
int k;
for(k=0;k<j;k++)
printf("%8d",i);
}
void f2(int m)
{
int n[4],r,s[4],t,p;
if(m==1)
{
s[0] = 1;
for(p=0;p<3;p++)
printf("0");
printf("%d",s[0]);
}
else
if(m==0)
{
s[0] = 0;
for(p=0;p<4;p++)
printf("%d",s[0]);
}
else
{
n[0] = m/2;
s[0] = m%2;
if(n[0] != 0)
{
for(r=1;r<4;r++)
{
n[r] = n[r-1]/2;
s[r] = n[r-1]%2;
}
}
else
s[0]=1;
for(t=3;t>=0;t--)
{
printf("%d",s[t]);
}
}
}
int f3(int u,int v)
{
int a1[4],b1[4],x,a4[4], a3[4],c[8],x1=1,x2=0;
if(u==1)
{
a3[0]=0;
a3[1]=0;
a3[2]=0;
a3[3]=1;
}
else
if(u==0)
{
for(x=0;x<4;x++)
a3[x]=0;
}
else
{
b1[0] = u/2;
a1[0] =u%2;
if(b1[0] != 0)
for(x=1;x<4;x++)
{
b1[x] = b1[x-1]/2;
a1[x] = b1[x-1]%2;
}
else
a1[0]=1;
for(int o=0;o<4;o++)
{
a3[o]=a1[3-o];
}
}
int a2[4],b2[4],y;
if(v==1)
{
a4[0]=0;
a4[1]=0;
a4[2]=0;
a4[3]=1;
}
else
if(v==0)
{
for(x=0;x<4;x++)
a4[x]=0;
}
else
{
b2[0] = v/2;
a2[0] =v%2;
if(b2[0] != 0)
for(y=1;y<4;y++)
{
b2[y] = b2[y-1]/2;
a2[y] = b2[y-1]%2;
}
else
a2[0]=1;
for(int x1=0;x1<4;x1++)
{
a4[x1]=a2[3-x1];
}
}
for(int z1=0,z2=0;z1<8;)
{
c[z1]=a3[z2];
z2++;
z1=z1+2;
}
for(int z3=1,z4=0;z3<8;)
{
c[z3]=a4[z4];
z4++;
z3=z3+2;
}
for(int z5=0;z5<8;z5++)
{
x1=c[z5]*power(2,7-z5);
x2=x2+x1;
}
return x2;
}
void main()
{
int m1[16][4]={{3,3,3,3},{3,3,3,3},{3,3,3,3},{3,3,3,1},{3,1,3,1},{1,1,1,1},{1,1,1,1},{1,1,1,4},{3,3,3,2},{2,2,2,2},{2,2,2,2},{2,2,2,2},{2,1,2,1},{1,1,1,1},{2,2,2,2},{1,1,1,1}};
int e6=0,e7,e8,e9,e10,e11,e12,e13,e14,e15;
f(3,5);
f(1,3);
printf("\n\n");
f(3,5);
f(1,3);
printf("\n\n");
f(3,4);
f(1,4);
printf("\n\n");
f(3,3);
f(1,4);
f(4,1);
printf("\n\n");
f(3,2);
f(2,3);
f(1,3);
printf("\n\n");
f(3,1);
f(2,4);
f(1,3);
printf("\n\n");
f(2,6);
f(1,2);
printf("\n\n");
f(2,6);
f(1,2);
printf("\n\n\n\n\n");
for(int b=0;b<16;b++)
{
printf(" ");
}
printf("JJ");
for(int c=0;c<8;c++)
printf("%7d",c);
printf("\n\n");
for(int d=0;d<16;d++)
{
printf(" ");
}
printf("Jb");
for(int e=0;e<8;e++)
{
printf(" ");
f2(e);
}
printf("\n\n");
for(int g=0;g<6;g++)
{
printf(" ");
}
printf("II");
for(int h=0;h<6;h++)
{
printf(" ");
}
printf("Ib\n");
for(int l=0;l<8;l++)
{
printf("%8d",l);
printf(" ");
f2(l);
printf(" ");
for(int q=0;q<8;q++)
{
printf("%7d",f3(l,q));
}
printf("\n\n");
}
printf("\n\n\n\n");
for(int d1=0;d1<30;d1++)
{
printf(" ");
}
printf("Morton码");
printf(" ");
printf("属性值\n");
for(e9=0;e9<16;e9++)
{
if(e9==0)
{
e12=0;
e10=2;
e13=0;
e11=2;
e14=0;
e15=0;
}
if(e9==1)
{
e12=0;
e10=2;
e13=2;
e11=4;
e14=2;
e15=0;
}
if(e9==2)
{
e12=2;
e10=4;
e13=0;
e11=2;
e14=0;
e15=2;
}
if(e9==3)
{
e12=2;
e10=4;
e13=2;
e11=4;
e14=2;
e15=2;
}
if(e9==4)
{
e12=0;
e10=2;
e13=4;
e11=6;
e14=4;
e15=0;
}
if(e9==5)
{
e12=0;
e10=2;
e13=6;
e11=8;
e14=6;
e15=0;
}
if(e9==6)
{
e12=2;
e10=4;
e13=4;
e11=6;
e14=4;
e15=2;
}
if(e9==7)
{
e12=2;
e10=4;
e13=6;
e11=8;
e14=6;
e15=2;
}
if(e9==8)
{
e12=4;
e10=6;
e13=0;
e11=2;
e14=0;
e15=4;
}
if(e9==9)
{
e12=4;
e10=6;
e13=2;
e11=4;
e14=2;
e15=4;
}
if(e9==10)
{
e12=6;
e10=8;
e13=0;
e11=2;
e14=0;
e15=6;
}
if(e9==11)
{
e12=6;
e10=8;
e13=2;
e11=4;
e14=2;
e15=6;
}
if(e9==12)
{
e12=4;
e10=6;
e13=4;
e11=6;
e14=4;
e15=4;
}
if(e9==13)
{
e12=4;
e10=6;
e13=6;
e11=8;
e14=6;
e15=4;
}
if(e9==14)
{
e12=6;
e10=8;
e13=4;
e11=6;
e14=4;
e15=6;
}
if(e9==15)
{
e12=6;
e10=8;
e13=6;
e11=8;
e14=6;
e15=6;
}
if(m1[e9][0]==m1[e9][1]&&m1[e9][1]==m1[e9][2]&&m1[e9][2]==m1[e9][3])
{
for(int e4=0;e4<30;e4++)
{
printf(" ");
}
printf("%3d",f3(e15,e14));
printf("%13d\n",m1[e9][0]);
}
else
{
e6=0;
for(e7=e12;e7<e10;e7++)
for(e8=e13;e8<e11;e8++)
{
for(int e5=0;e5<30;e5++)
{
printf(" ");
}
printf("%3d",f3(e7,e8));
printf("%13d\n",m1[e9][e6]);
e6+=1;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -