该文被密码保护。 阅读全文
摘要:
一、内存表示任何数据在内存中都是以二进制的形式存储的,浮点数的表示是把一个数的有效数字和数的范围在计算机的一个存储单元中分别予以表示,数的小数点位置随比例因子的不同而在一定范围内自由浮动。如下图是32位和64位浮点数的表示方法: 在介绍浮点数的存储方式之前我们先介绍下阶码和尾数。阶码:表达指数部分,用整数形式表示,指明小数点在数据中的位置,决定浮点数的表示范围。尾数:用定点小数表示,给出有效数字的位数决定了浮点数的表示精度。理论上,一个十进制数N可以写成N=10e×M,一个R进制数N可以写成N=Re×M,(M 尾数,e 指数,R 基数)例如:156.78=15.678 阅读全文
摘要:
1 unsigned int a = 0xfffffff7;2 unsigned char i = (unsigned char)a;3 char *b = (char *)&a; 4 printf("%x,%x",i,*b);结果输出是000000f7和fffffff7;unsigned int 四个字节,转换为unsigned char是1个字节,截取低位,则i为f7,由于是无符号所以x左边用0补齐32位 b是指针的转换,b指向的还是一个unsigned int的数,但是b是有符号的,则*b=f7,x左边用1补齐32位,则是fffffff7。 1 #includ 阅读全文
摘要:
最大堆 算法:1、保持堆的性质。 MAX-HEAPIFY(A, i)从结点i开始保持二叉堆的性质,通过比较左子树,把最大的赋值给A【largest】,再比较右子树,最大的赋值给A【largest】,比较i 和 largest相不相等,不等则互换A[largest]和A[i],并且递归调用MAX-HEAPIFY(A,largest)。代码: 1 MAX-HEAPIFY(A, i) 2 3 l←LEFT(i) 4 5 r←RIGHT(i) 6 7 if l≤heap-size[A] and A[l]>A[i] 8 9 then large... 阅读全文
摘要:
静态数据成员,用关键字static声明,该类的所有对象维护该成员的同一个拷贝(包括该类派生类的对象,即派生类对象与基类对象共享基类的静态数据成员。1、Static数据成员必须在类外部定义,且正好定义一次,static成员属于类,在类定义时初始化,而不是像普通数据成员在对象建立时通过构造函数初始化。用(::)来指明所属的类。2、在类的声明中仅仅对静态数据成员进行引用性说明,必须在文件作用域的某个地方使用类名限定进行定义性说明,这时也可初始化。(延伸:C++头文件可以用const int a = 4;或者 static int a = 4;因为const声明变量在本文件是局部变量,只在本文件有效。 阅读全文
该文被密码保护。 阅读全文
摘要:
一、sizeof使用的场合:1、sizeof操作符的一个主要用途是与存储分配和I/O系统那样的例程进行通信。例如:1 void* malloc(size_t size);2 size_t fread(void *ptr, size_t size, size_t nmemb, FILE* stream)2、用它可以看看某种类型的对象在内存中所占的单元字节。例如:1 void *memset(void *s, int c, sizeof(s));3、在动态分配一对象时,可以让系统知道要分配多少内存。4、便于一些类型的扩充。在windows中很多结构类型就有一个专用的字段用来存放该类型的字节大小。. 阅读全文