《C专家编程》看到的一种有意思的画图方法

这里有一个#define定义的优雅集合,允许程序建立常量使它们看上去更像是屏幕的图形,使程序的自描述能力增加, 该宏利用了十六进制和二进制的转换方法,当按照自己的意愿画好图,该宏将自动转化成十六进制数;

#define X )*2+1
#define _ )*2
#define S ((((((((((((((((0

unsigned int myarray[]={
	S _ _ _ _ _ X X X X X _ _ _ X X _ ,
	S _ _ _ X X X X X X X X X _ X X X,
	S _ _ X X X _ _ _ _ _ X X X _ X X,
	S _ X X _ _ _ _ _ _ _ _ _ X X _ _,
	S _ X X _ _ _ _ _ _ _ _ _ X X _ _,
	S X X _ _ _ _ _ _ _ _ _ _ _ X X _,
	S X X _ _ _ _ _ _ _ _ _ _ _ X X _,
	S X X _ X X X X X _ _ _ _ _ X X _,
	S X X _ _ _ _ _ X _ _ _ _ _ X X _,
	S X X _ _ _ _ _ X _ _ _ _ _ X X _,
	S _ X X _ _ _ _ X _ _ _ _ _ X X _,
	S _ X X _ _ _ _ X _ _ _ _ _ X X _,
	S _ X X X _ _ _ X _ _ _ X X X _ _,
	S _ _ _ X X X X X X X X X X _ _ _,
	S _ _ _ _ _ X X X X X _ _ _ _ _ _,
	S _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
};
void convent(unsigned short a)
{
	unsigned int c,d[32]={0};
	int i=0;


	while(a!=0)
	{
		c=a%2;
		d[i]=c;
		a=a/2;

		i++;
	}
//	printf("%d",i);
		i=31;
	while(i>=0)
	{
		printf("%d",d[i]);
		i--;
	}
	printf("\n");
}
int main()
{
	for (int i=0;i<16;i++)
	{
		convent(myarray[i]);
	}
}

编译通过;图形显示

原文地址:https://www.cnblogs.com/HuaiNianCiSheng/p/5303263.html