摘要:参考资料:张代远《计算机组成原理教程 第二版》清华大学出版社唐朔飞《计算机组成原理》高等教育出版社《2012计算机组成原理 联考复习指导》机械工业出版社《寻址方式和指令系统》《逻辑移位与算术移位的区别》移位运算有两种移位方式,逻辑移位和算数移位。下面以一个8位二进制数1000 1011为例来探讨。逻辑移位把1000 1011视为一串二进制串,不对该串做任何解读,不管是原码还是补码还是别的什么,只管移位,移丢了就移丢了,多出来的空位一律补0。1000 1011逻辑左移一位成为0001 0110,逻辑右移一位成为0100 0101。算数移位算数移位本质上是为了实现有符号数的快速乘除法。算数移位想要
阅读全文
摘要:参考资料:唐朔飞《计算机组成原理》高等教育出版社张代远《计算机组成原理教程 第二版》清华大学出版社《另一个视角解读计算机编码-补码编码》《补码初探》《为何将移码作为浮点数的阶码》 《补码和移码存在的意义》《数值数据在机内的表示》定点和浮点定点格式所谓定点格式,即约定机器中所有数据的小数点位置是固定不变的。在计算机中通常采用两种简单的约定:约定小数点的位置固定在数据的最高位之前,称为定点小数,或者约定小数点固定在最低位之后,称为定点整数。定点小数是纯小数,定点整数是纯整数。当数据小于定点数能表示的最小值时,计算机将它们作0处理,称为下溢;大于定点数能表示的最大值时,计算机将无法表示,称为上溢,上
阅读全文
摘要:前序、中序、后序的非递归遍历中,要数后序最为麻烦,如果只在栈中保留指向结点的指针,那是不够的,必须有一些额外的信息存放在栈中。方法有很多,这里只举一种,先定义栈结点的数据结构typedef struct{Node * p; int rvisited;}SNode //Node 是二叉树的结点结构,rvisited==1代表p所指向的结点的右结点已被访问过。lastOrderTraverse(BiTree bt){ //首先,从根节点开始,往左下方走,一直走到头,将路径上的每一个结点入栈。 p = bt; while(bt){ push(bt, 0); //push到栈中两个信息,一...
阅读全文