本程序源自维基百科。

Declaring a bit field in C:

#include <stdio.h>// opaque and show
#define YES 1
#define NO  0// line styles
#define SOLID  1
#define DOTTED 2
#define DASHED 3// primary colors
#define BLUE  4  /* 100 */
#define GREEN 2  /* 010 */
#define RED   1  /* 001 */// mixed colors
#define BLACK   0                    /* 000 */
#define YELLOW  (RED | GREEN)        /* 011 */
#define MAGENTA (RED | BLUE)         /* 101 */
#define CYAN    (GREEN | BLUE)       /* 110 */
#define WHITE   (RED | GREEN | BLUE) /* 111 */const char * colors[8] = {"Black", "Red", "Green", "Yellow", "Blue", "Magenta", "Cyan", "White"};// bit field box properties
struct box_props
{unsigned int opaque       : 1;unsigned int fill_color   : 3;unsigned int              : 4; // fill to 8 bitsunsigned int show_border  : 1;unsigned int border_color : 3;unsigned int border_style : 2;unsigned int              : 0; // fill to nearest byte (16 bits)unsigned char width       : 4, // Split a byte into 2 fields of 4 bitsheight      : 4;
};

B00002 C语言位字段实例相关推荐

  1. c语言程序个位,C语言位字段

    位字段(bit-field)是一个由具有特定数量的位组成的整数变量.结构或联合的成员也可以是位字段.如果连续声明多个小的位字段,编译器会将它们合并成一个机器字(word).这使得小单元信息具有更加紧凑 ...

  2. C语言结构联合位字段知识体系总结大学霸IT达人

    C语言结构联合位字段知识体系总结大学霸IT达人 C语言的基础类型中只能去定义单一类型的变量用于指代数据,但在现实生活中我们常常要处理的数据却会包含多种类型的数据. 例如,公司员工的信息管理,每个员工的 ...

  3. C语言学习笔记---位字段

       在C语言中通常操作只有真假两种状态的的数据时使用布尔bool变量比较多,如果需要同时观察多个状态,这时候选择位操作效率会更高,用一个字节的8位分别表示8种状态.比较节省内存,处理起来效率更高.但 ...

  4. c语言位运算负数的实例_巧妙运用C语言位运算

    原标题:巧妙运用C语言位运算 位运算 位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果. 位运算符有: &(按位与) ...

  5. C语言 socket编程实例

    C语言 socket编程实例 一. 面向连接的流式套接字 C/S 例子 二. 非阻塞的多人聊天服务器端例子 三. 简单的 IPv6 UDP socket编程 四.使用wireshark抓包分析tcp协 ...

  6. c语言编程经典实例利润,C语言经典编程实例100题解答

    C语言经典编程实例100题 答案+答案 C语言经典编程实例100题C语言程序实例100个(一) [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数,都是多少, 1.程序 ...

  7. c语言二级编程实例,二级C语言编程_-实例.doc

    二级C语言编程_-实例.doc 编程实例 ? 1.???????? 1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位.十位.个位的数字都是1.2.3. ...

  8. c语言调用子程序的例子,几个C语言编程应用实例.DOC

    PAGE PAGE 290 第13章 几个C语言编程应用实例 13.1 TMS320LF2407与图形液晶显示模块接口及应用 源程序代码: 所需的复位和中断向量定义文件"vectors.as ...

  9. c语言中按位或赋值给变量,[转载]C语言位运算符在单片机上的应用

    C语言位运算符 学过汇编的朋友都知道汇编对位的处理能力是很强的,但是C语言也能对运算对象进行按位操作,从而使C语言也能具有一定的对 硬件直接进行操作的能力.位运算符的作用是按位对变量进行运算,但是并不 ...

最新文章

  1. 进程内存分配和/proc/xxx/maps简单分析
  2. 2019.3.1版本pycharm撤销及恢复图解
  3. mysql 无法存储joda time的datetime类型
  4. 飞秋教程:日程安排记事提醒
  5. 创建构建方法android,如何快速创建并发布一个 Android 库
  6. Linux强制重新启动系统——重启服务器的最终救济途径
  7. NP实验-1 华为MSTP+VRRP练习题
  8. OpenGL编程指南随书代码在VisualStudio2019的运行方法
  9. mongovue mysql_MongoVUE模糊查询,更新单个字段
  10. win7虚拟磁盘服务器,深度Win7 64位旗舰版系统如何创建虚拟磁盘
  11. 什么是电子商务——百科
  12. 电脑一启动吃鸡就重启计算机,玩吃鸡老是重启电脑
  13. python中 // 和 / 和 %
  14. 模拟实现memcmp
  15. 打光篇-Radiometric Photometric概念
  16. HDMI转VGA转换器 HDMI转接头,VGA转换器
  17. 二维邮局选址问题-带权中位数
  18. cmd怎么查看python路径_从cmd如何查找python的安装路径?
  19. java实现身份证校验算法与介绍详解
  20. web前端入门知识解析

热门文章

  1. ColorMatrixFilter 色彩矩阵滤镜
  2. Memcached 集群架构方面的问题
  3. oracle中dual最多存多大_ORACLE中dual用法详解
  4. api获取控件窗口的矩形大小_DevExpress 通用控件系列(4):SimpleButton
  5. Hive数据倾斜及处理
  6. java jsp输出乱码,这是小弟我的JSP文件,输出后,汉字显示为乱码,怎么解决
  7. C++ STL map 中insert函数返回值问题
  8. mysql巡检常用命令_总结Linux下系统巡检常用命令
  9. premium导入后缀为db_Python 导入txt文件到mongo
  10. MapWinGis入门