摘要: 在本科微机原理中就早早地接触过补码这个概念,但是对其的理解仅仅停留在原码取反加一的程度,至于为什么提出这个,这个有什么用,怎样得到取反加一这条法则等问题,当时我是稀里糊涂的。现在再回过头来看,要更精确地理解其内涵。首先我们要明确的一点事这些码都是编码,编码就是用二进制数来表示特定的数字和符号,比如asc码就是用八位二进制数来表示英文字母和各种符号,同理我们也可以用二进制数表示数字大小。这里我们先对编码的形式进行统一的假设:编码一共w位,[xw-1,xw-2,...,x0],其中每一位不是0就是1.接下来我们先看无符号数的表示。无符号数的理解起来很简单直观,用一个公式进行总结就很直观,后面的补码 阅读全文
posted @ 2012-11-27 21:41 ideawu 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 书上这一节一开始还是提供了许多有用的概念:1.每个程序在执行时都占用一块可用的内存空间,用于存放动态分配的对象,叫做自由存储区或者堆(这里堆栈的概念就分开来了,由堆和栈两个组成)。2.在程序中使用new和delete来实现动态分配和释放。必须显示地释放,否则内存会耗尽。这两个概念还算有用,接下来说明了动态数组的定义方法:int *pia = new int [10];new操作的返回值是指向该数组第一个元素的指针,该数组没有名字,因此只能通过指针对其进行操作。看到这里我怎么也不觉得动态体现在哪。直到看到下列程序段才明白:size_t n =get_size();int *p =new int[ 阅读全文
posted @ 2012-11-27 16:05 ideawu 阅读(350) 评论(0) 推荐(0) 编辑