《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]); } }
编译通过;图形显示
Edit By SolarJupiter