.NET中的枚举我们一般有两种用法,一是表示唯一的元素序列,例如一周里的各天;还有就是用来表示多种复合的状态。这个时候一般需要为枚举加上[Flags]特性标记为位域,例如: [Flags] enum Styles{ ShowBorder = 1, //是否显示边框 ShowCaption = 2, ...
最近又遇到了几年前遇到的问题,标记一下。 对于跨字节位域(bit field)而言,如果数据传输前后环境的字节序不同(LE->BE,BE->LE),简单地调用(ntohs/ntohl/htons/htonl)并不能正确读取位域的值。 例如: 其中,tag,field2,pad是字节内位域,field ...
分类:
其他好文 时间:
2016-05-29 18:04:53
阅读次数:
309
什么是域
域英文叫DOMAIN,是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系(即Trust Relation)。信任关系是连接在域与域之间的桥梁。当一个域与其他域建立了信任关系后,2个域之间不但可以按需要相互进行管理,还可以跨网分配文件和打印机等设备资源,使不同的域之间实现网络资源的共享与管理。
域既是 Windows 网络操作系统的逻辑组织单元,也是In...
1.冒号(:)用法 (1)表示机构内位域的定义(即该变量占几个bit空间) typedef struct _XXX{ unsigned char a:4; unsigned char c; } ; XXX (2)构造函数后面的冒号起分割作用,是类给成员变量赋值的方法,初始化列表,更适用于成员变量的常 ...
分类:
编程语言 时间:
2016-05-13 08:13:32
阅读次数:
133
1.枚举项和数值,字符串如何互相转换?2.结构和byte[]数组间如何互相转换? 这在通讯上普遍使用!3.位域在工控上DIO控制普遍使用,如何借鉴.OK,上代码! ...
分类:
其他好文 时间:
2016-03-27 19:23:45
阅读次数:
192
位段(bitfield)也叫位域位段的声明和结构类似,但是它的成员是一个或多个位的字段,这些不同长度的字段实际上存储于一个或多个整形变量中。位段的声明和任何普通成员声明相同,有两个例外:1.位段成员必须声明为int,signedint(有符号整型),unsignedint(无符号整型)2.成..
分类:
编程语言 时间:
2016-03-04 22:49:45
阅读次数:
277
看编程之美的时候遇到的struct {unsign char a:4;unsign char b:4;}i;查了一下,如下有些信息在存储时,并不需要占用一个完整的字节,而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1两种状态,用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提...
分类:
编程语言 时间:
2015-12-29 16:00:27
阅读次数:
178
位段(bit-field)是以位为单位来定义结构体(或联合体)中的成员变量所占的空间。含有位段的结构体(联合体)称为位段结构。采用位段结构既能够节省空间,又方便于操作。 位段的定义格式为: type [var]:digits 其中: type只能为int,unsigned int,sig...
分类:
编程语言 时间:
2015-12-17 06:53:46
阅读次数:
219
什么是跨域域(Domain)是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系(即Trust Relation)。信任关系是连接在域与域之间的桥梁。当一个域与其他域建立了信任关系后,2个域之间不但可以按需要相互进行管理,还可以跨网分配文件和打印机等设备资源,使不同的域之间实现网络...
分类:
其他好文 时间:
2015-12-06 13:08:35
阅读次数:
192
很久没有用C 语言中的 union 和 struct 位域操作了。最近用了一下(当然,我承认是从stackoverflow 上抄的)需求是这样的,已知一个 LPARAM 整数 3866625 ,求他的第30位的值是多少。解法也挺简单int a = 3866625;a = a>>30 & 0x0001...
分类:
其他好文 时间:
2015-12-04 06:30:42
阅读次数:
186