【练习3.17】不同于我们已经给出的删除方法,另一种是使用懒惰删除的方法。为了删除一个元素,我们只标记上该元素被删除的信息(使用一个附加的位域)。表中被删除和非被删除的元素个数作为数据结构的一部分被保留。如果被删除元素和非被删除元素一样多,我们就遍历整个表,对所有被标记的节点执行标准的删除算法。a....
分类:
其他好文 时间:
2015-03-20 06:44:37
阅读次数:
244
端模式(Endian)的这个词出自Jonathan Swift书写的《格列佛游记》。这本书根据将鸡蛋敲开的方法不同将所有的人分为两类,从圆头开始将鸡蛋敲开的人被归为Big Endian,从尖头开始将鸡蛋敲开的人被归为Littile Endian(这句话最为形象)。小 人国的内战就源于吃鸡蛋时是究竟从...
分类:
其他好文 时间:
2015-03-17 10:17:05
阅读次数:
124
位域: 最先使用在c语言中后来C++继承了这一优良的特点。 举个栗子: int --> 4字节 2^32位 ,如果我们只需要其表达一个0~16的数字, 使用一个int就显得稍稍有些许浪费,所以我们这里就可以使用到位域0~16 --> 2^1 ~ 2^5 我们...
分类:
编程语言 时间:
2015-03-13 12:24:26
阅读次数:
177
工作中经常需要解析收到的数据报文,而报文中很多协议字段都用bit来表示。一般都会使用指针偏移然后右移的方式来获取响应的bit位的值。比如下面这样一个报文:D的值为:((pucPktAddr + 3)>>6) & 0x3 --偏移3个字节,右移6位,再与上掩码E的值就是((pucPktAddr + 3...
分类:
编程语言 时间:
2015-03-11 00:34:11
阅读次数:
401
In little-endian systems, what is the result of following C program ?#include typedef struct bitstruct { int b1:5; int :2; int b2:2; } bitstruct;i...
分类:
其他好文 时间:
2015-03-10 22:52:01
阅读次数:
320
一、位域的形式有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态,用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域, 并说...
分类:
其他好文 时间:
2015-03-10 21:11:09
阅读次数:
105
http://blog.csdn.net/xing_hao/article/details/6678048一。内存对齐许多计算机系统对基本类型数据在内存中存放的位置有限制,它们会要求这些数据的首地址的值是某个数k(通常它为4或8)的倍数,这就是所谓的内存对齐,而这个k则被称为该数据类型的对齐模数(a...
分类:
编程语言 时间:
2015-03-04 20:56:38
阅读次数:
187
位段(bit-field)是以位为单位来定义结构体(或联合体)中的成员变量所占的空间。含有位段的结构体(联合体)称为位段结构。采用位段结构既能够节省空间,又方便于操作。 位段的定义格式为: type [var]:digits 其中type只能为int,unsigned int,signed in.....
分类:
编程语言 时间:
2015-01-15 15:59:06
阅读次数:
238
判断以下题目是否正确,不正确指出错误并改正。#include using namespace std;struct a { int x:1; int y:2; int z:33;};int main(){ a d; cout << &d << endl; ...
分类:
其他好文 时间:
2015-01-13 14:04:53
阅读次数:
108
C结构体之位域(位段)有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区...
分类:
其他好文 时间:
2015-01-13 00:03:06
阅读次数:
218