根据位模式构筑图形
    图标(icon)或者图形(glyph)是一种小型的位模式映射于屏幕后产生的图像。一个位表示图像上的一个像素。如果一个位被设置,那么它所代表的像素就是“亮”的,如果一个位被清除,那么它所代表的像素就是“暗”的。所以一系列的整数值能够用于为图形编码。类似Iconedit这样的工具用来绘制图形。它们所输出的文件是一个包含一系列整型数的ASCII文件,可以被一个窗口程序所包含。它所存在的问题是程序中的图标只是一串十六进制数。在C语言中,典型的16*16的黑白图形可能如下: 
    static unsigned short stopwatch[] = {
        0x07C6,
        0x1FF7,
        0x383B,
        0x600C,
        0x600C,
        0xC006,
        0xDF06,
        0xC106,
        0xC106,
        0x610C,
        0x610C,
        0x3838,
        0x1FF0,
        0x0700,
        0x0000
    };
    这些C语言并未提供一个有关图形实际模样的任何线索。这里有一个惊人的#define定义的优雅集合,允许程序建立常量,使它们看上去像是屏幕上的图形。
    #define X )*2+1
    #define - )*2
    #define s ((((((((((((((((0     /*用于建立16位宽的图形*/ 
    定义了它们以后,只要画所需要的图标或图形等,程序会自动创建它们的十六进制模式。
    使用这些宏定义,程序的字描述能力大大增强,上面这个例子可以转变为:
    static unsigned short stopwatch[] = {
        ...    
    } 
    与前面的代码相比,它的意思更为明显。

标准的C语言具有八进制、十进制和十六进制常量,但没有二进制常量,否则倒是一种更为简单的绘制图形位模式的方法。
    千万不要忘了在绘图结束之后清除这些宏定义,否则很可能会给你后面的代码带来不可预测的后果。

C专家编程 第8章 为什么程序员无法分清万圣节和圣诞节 8.2 根据位模式构筑图形相关推荐

  1. C专家编程 第8章 为什么程序员无法分清万圣节和圣诞节 8.10 轻松一下---国际C语言混乱代码大赛

    轻松一下---国际C语言混乱代码大赛     C语言结合了汇编语言的所有威力和汇编语言的所有易用性. 国际C语言混乱代码大赛(IOCCC)是一项年度竞赛,自1984年以来一直延续至今.它源于Lande ...

  2. 科普!程序员分不清万圣节和圣诞节?

    web前端教程 用大白话,来讲编程 万圣节又叫诸圣节,在每年的11月1日,是西方的传统节日:而万圣节前10月31日是这个节日最热闹的时刻. 然而大家知道吗? 大多数程序员其实是分不清万圣节和圣诞节的. ...

  3. 读我编程,我快乐:程序员职业规划之道

    职业规划,从大学开始,很少考虑这个事情,大四那会儿还学过相关的一门课,当时也只是抱着学分修修到的心态.最近一年里开始思考这个问题,近期阅读了这本<我编程,我快乐:程序员职业规划之道>,开始 ...

  4. Android群英传神兵利器读书笔记——第一章:程序员小窝——搭建高效的开发环境

    Android群英传神兵利器读书笔记--第一章:程序员小窝--搭建高效的开发环境 目录 1.1 搭建高效的开发环境之操作系统 1.2 搭建开发环境之高效配置 基本环境配置 基本开发工具 1.3 搭建程 ...

  5. 我编程,我快乐:程序员职业规划之道pdf

    下载地址:网盘下载 <我编程,我快乐:程序员职业规划之道>讲述程序员的职业规划之道--如何规划职业生涯,如何按照自己选择的方向发展职业,如何沿着你构建和销售自己产品的路径一步步地实现自己的 ...

  6. 读《编程之道》-对于程序员的抽象描述

    <编程之道>的第二篇是"古代的大师(The Ancient Masters)",不知道悟道非常深的作者为何在编程大师的前面加上了个"古代"来修饰,我 ...

  7. 知乎热议:27岁没文凭、想自学编程,有机会成为程序员吗?互联网风口一去不复返了吗?

    缘起 前段时间在知乎里看到了一个问题,感慨万千,拿出来给大家分享分享,希望可以抛砖引玉给大家一点启发. 问题大家已经从文章的标题里看到了:一个27岁没文凭,想去努力自学编程,有机会成为程序员吗? 而问 ...

  8. 编程开发学习笔记之程序员如何用1年时间获得3年成长(图)

    2019独角兽企业重金招聘Python工程师标准>>> 编程开发学习笔记之程序员如何用1年时间获得3年成长(图) 前言 这世界存在这么一个银行,你一出生,就自动享有这家银行为你开设的 ...

  9. 知乎热议:27岁没文凭、想自学编程,有机会成为程序员吗?互联网风口一去不复返了?

    缘起 前段时间在知乎里看到了一个问题,感慨万千,拿出来给大家分享分享,希望可以抛砖引玉给大家一点启发. 问题大家已经从文章的标题里看到了:一个27岁没文凭,想去努力自学编程,有机会成为程序员吗? 而问 ...

最新文章

  1. 沉浸式小说App获得200万美元投资
  2. Delphi 7 在程序中直接执行SQL脚本文件
  3. POJ 3855 计算几何·多边形重心
  4. android view padding,记一次tablayout的tabView偷偷自带padding的问题
  5. 使用VMware进行基于Ubuntu16.04LTS的Spark集群搭建
  6. es文件浏览器怎么用_es文件浏览器电视版下载-es文件浏览器电视tv版下载v4.2.3.4 安卓最新版...
  7. python网络爬虫(三)数据抓取
  8. Spring Bean装配(上)
  9. 下次偶转贴贴子时得加上转贴才行~~~
  10. 关于find指令的一点使用小心得 II
  11. # iOS项目——IM聊天工具(集成融云SDK)
  12. 如何五分钟实现无线WEP网络入侵(ZZ)
  13. Codeforces 1092D1. Great Vova Wall (Version 1)
  14. 文本溢出显示省略号并显示tooltip组件
  15. 深入理解计算机系统家庭作业第四章(4.43-4.54)
  16. 感激爸妈----您们辛苦了
  17. POI入力自定义格式数据
  18. C#中Atan()与Atan2()
  19. folly库安装(1)cmake和gcc的安装、升级
  20. iOS -- masonry的使用

热门文章

  1. 狼性精神——《世界上最伟大的推销员》
  2. 【云原生之kubernetes实战】在k8s环境下部署BookBrowser电子书浏览器
  3. flush-hosts
  4. Pytorch框架中余弦相似度(Cosine similarity)、欧氏距离(Euclidean distance)源码解析
  5. 用Python解矩阵方程——Numpy模块
  6. stm32 火灾自动报警及联动控制源码_火灾自动报警与消防联动控制系统
  7. 调用企查查上的接口,实现通过公司名称查询公司列表
  8. 数据结构(一) --- 开篇
  9. 生命旅程中何生命个体
  10. python下载CVF论文