- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 【严蔚敏】数据结构 在C语言中不能用动态分配的一维数组来实现循环队列
对于这个问题的考虑源于我在做2019-408真题的算法设计题时想到的方案:原题目如下:#define MAXSIZE 50typedef struct{ElemType data;int front,rear;int length = MAXSIZE;}SqQueue;void InQueue(SqQueue &Q, ElemType x){if(Q.front==(Q.rear+1)%Q.length){ElemType base = (ElemType)realloc(
2021-11-17 22:26:20
828
原创 Cache地址结构/Cache总位数
Cache总位数或总容量=标记项的总位数+数据块的总位数标记项=有效位+脏位(全写法没有脏位,写回法有脏位)+替换控制位(有替换算法时)+标记位(与主存的高位相同)这里我一直搞混的一点是把标记项当作地址结构中的一部分,所以不明白为什么算Cache总位数时不把块内地址的位置算进去,今天才明白!Cache地址是用来找到我们要找到的Cache行,怎么能算在Canche容量里呢,这里给出三种映射方式下Cache的地址结构:全相联映射:Cache块号+块内地址直接映射:Cache块号+块内地址组相连映射:组
2021-11-15 22:07:23
15766
18
原创 汇编语言SAL SHL的比较
SHL逻辑左移、SAL算术左移的指令完全相同;格式:SHL d,count操作:SHL指令可将目标操作数的内容向左移位,移位的位数由count给定,每左移一位,操作数最高位的状态移入CF标志位,末位补0;
2021-10-06 16:59:30
1551
原创 边界对齐存储
结构体或类内数据元素长度都小于机器字长, 对齐单元 = 最长的数据元素长度。结构体或类内数据元素长度存在大于机器字长的数据元素, 对齐单元 = 机器字长。在64位计算机中,最长的数据元素为8个字节,对齐单元 = 最长的数据元素长度,数据项仅仅能存储在地址是数据项大小的整数倍的内存位置上。例如:long long 占8字节,只能放在首地址为0,8,16等位置int 占4字节,只能放在首地址为0,4,8等位置char 占1字节,能放在任意位置在32位中,若存在long long,则 &g..
2021-10-06 16:58:25
1698
原创 原码反码补码的溢出判断
右移:可能会丢失精度左移:可能会出现严重误差溢出判断正数:正补反左移和右移都是丢1出错负数:原码:左移或右移丢1出错反码:左移或右移丢0出错补码:左移丢0出错右移丢1出错一个数的补码的 最低位 到 从右往左数出现第一个“1”的位置 与它的原码相同;最高位 到 从右往左数出现第一个“1”的位置的前一位 与它的反码相同。故负数补码左移与反码相同,右移与原码相同。...
2021-10-05 17:26:07
3102
原创 判定给定的二叉树是不是二叉排序树
bool IsBST(BiTree T){if(T == NULL) return true;//没有左子树也没有右子树if(T->lchildNULL && T->rchild == NULL) return true;//有左子树没有右子树if(T->lchild!=NULL && T->rchildNULL){if(T->lchild->data > T->data) return false;else
2021-09-21 20:51:03
114
原创 查询方式/中断方式/DMA方式的区别及适用范围
区别:查询方式:CPU与设备串行工作、数据传送与主程序串行工作;中断方式:CPU与设备并行工作、数据传送与主程序串行工作;DMA方式:CPU与设备并行工作、数据传送与主程序并行工作。适用范围:查询方式:适合于工作不太繁忙的系统;中断方式:适合于CPU任务比较忙的情况下,尤其适合实时控制和紧急事件的处理;DMA方式:适合于需要高速而又频繁地与存储器进行批量的数据交换的I/O设备。...
2021-07-05 08:41:19
9256
原创 编译原理实验——无符号数的词法分析程序(C++实现)
无符号数的词法分析程序要求:从键盘上输入一串字符(包括字母、数字等),最后以“;”结束,编写程序识别出其中的无符号数。无符号数文法规则可定义如下:<无符号数>→<无符号实数>│<无符号整数><无符号实数>→<无符号整数>.<数字串>[E<比例因子>]│<无符号整数>E<比例因子><比例因子>→<有符号整数><有符号整数>→[+│-]<无符号整
2021-02-04 16:12:50
4133
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人