1、根据位模式构筑图形
根据位模式构建图形图标(icon)或者图形(glyph),是一种小型的位模式映射于屏幕产生的图像。一个位代表图像上的一个像素。如果一个位被设置,那么它所代表的像素就是“亮”的。如果一个位被清除,那么它所代表的像素就是“暗”的。所以,一系列的整数值能够用于为图像编码。
类似Iconedit这样的工具就是用于绘图的,他们所输出的是一个包含一系列整型数的ASCII文件,可以被一个窗口程序所包含。它所存在的问题是程序中的图标只是一串十六进制数。
在C语言中,典型的16X16的黑白图形可能如下:
static unsigned short stopwatch[] = { 0x07C6, 0x1FF7, 0x383B, 0x600C, 0x600C, 0xC006, 0xC006, 0xDF06, 0xC106, 0xC106, 0x610C, 0x610C, 0x3838, 0x1FF0, 0x07C0, 0x0000 };
123456789101112131415161718正如所看到的那样,这些C语言常量并未有提供有关图形实际模样的任何线索。 这里有一个惊人的#define定义的优雅集合,允许程序建立常量使它们看上去像是屏幕上的图形。 12
#define X )*2+1 #define _ )*2 #define s ((((((((((((((((0 /* For building glyphs 16 bits wide */123
定义了它们之后,只要画所需要的图标或者图形等,程序会自动创建它们的十六进制模式。使用这些宏定义,程序的自描述能力大大加强,上面这个例子可以转变为: 1
static unsigned short stopwatch[] = { 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 _ _ _ , s _ _ _ X X X X X X X X X _ _ _ _ , s _ _ _ _ _ X X X X X _ _ _ _ _ _ , s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ };
12345678910111213141516171819显然,与前面的代码相比,它的意思更为明显。标准的C语言具有八进制、十进制和十六进制常量,但没有二进制常量,否则的话倒是一种更为简单的绘制图形模式的方法。 1
2、类型变化
eg: printf("%d", sizeof 'A'); //打印存储一个字符字面值类型的长度12
结果是4 。 字符常量的类型是int,根据提升规则,它由char转换成int。 12
C语言中的类型提升
源类型通常提升后的类型charint位段(bit-field)int枚举intunsigned charintshortintunsigned shortintfloatdouble任何数组相应类型的指针相关知识
万圣节为什么挂南瓜灯 关于万圣节南瓜灯的故事
万圣节为什么要做南瓜灯?万圣节南瓜灯的来历
不是程序员不浪漫,而是你不懂
圣诞节为什么是红色和绿色的?
万圣节传统习俗活动有哪些?
高效程序员
万圣节骷髅万圣节挂件厂家
为什么万圣节要点南瓜灯?为什么是南瓜?
万圣节南瓜
圣诞节平安夜为什么送苹果?
网址: 为什么程序员无法分清万圣节和圣诞节 https://m.huajiangbk.com/newsview664819.html
上一篇: 少年x情歌=从夏天开始的BGM |
下一篇: 指数基金收益=指数收益+股息率+ |