- 博客(5)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 C++浮点数的存储方式
类型float大小为4字节,即32位,内存中的存储方式如下:最高位 31 位 ,保存符号位 S,“0”表示正数 ,“1”表示负数第30 位~23 位 ,共 8 位 ,保存指数部分(指数值加上偏移量127) ,称为阶码第22 位~0 位 ,共 23 位 ,保存系数部分 (整数位的1不保存),称为尾数类型double大小为8字节,即64位,内存布局如下: 最高位 6...
2018-02-24 18:18:24 1430
转载 C++多重继承下的指针类型转换
在C++中,指针的类型转换是经常发生的事情,比如将派生类指针转换为基类指针,将基类指针转换为派生类指针。指针的本质其实就是一个整数,用以记录进程虚拟内存空间中的地址编号,而指针的类型决定了编译器对其指向的内存空间的解释方式。基于上面的理解,我们似乎可以得出一个结论,C++中对指针进行类型转换,不会改变指针的值,只会改变指针的类型(即改变编译器对该指针指向内存的解释方式),但是这个结论在C++多...
2018-02-22 16:13:38 536
原创 C++虚函数继承与虚继承
虚函数继承和虚继承是完全不同的两个概念。虚函数继承是解决多态性的,当用基类指针指向派生类对象的时候,基类指针调用虚函数的时候会自动调用派生类的虚函数,这就是多态性,也叫动态编联。虚继承就是为了节约内存,他是多重继承中的特有的概念。适用于菱形继承形式。比如B继承于A、C继承于A、D继承于B和C,显然D会继承两次A(图1)。因此,为了节省空间,可以将B、C对A的继承定义为虚拟继承,而A就成...
2018-02-22 15:56:40 15042 5
原创 汇编语言学习笔记
1、debug 调试工具参数:-r 显示所有寄存器状态,可以修改寄存器内容(形如-r ax)-d 显示从当前cs:ip位置之后的128个字节,可以指定地址打印(形如: -d 段地址:偏移地址)-u 将cs:ip位置后续的字节翻译成汇编指令,可以制定地址翻译(形如: -u 段地址:偏移地址)-a 在当前cs:ip位置处写指令,可以制定地址(形如: ...
2018-02-08 23:37:54 647
转载 什么是字节对齐,为什么需要字节对齐
概念 在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结构中,编译器为结构的每个成员按其自然边界(alignment)分配空间。各个成员按照它们被声明的顺序在内存中顺序存储,第一个成员的地址和整个结构的地址相同。 为了使CPU能够对变量进行快速的访问,变量的起始地
2018-02-02 18:30:06 14932
C语言常见的问题集
2018-05-22
python3 range()怎么倒着取数并且得到0值
2017-07-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人