读了《程序是怎样跑起来的》这本书的第一章之后,让我对CPU的理解更加深入。刚开始我只认为它是相当于计算机的大脑,原来它对于程序员来说不止如此,它还是CPU,寄存器,内存,内存地址,程序计数器,累计寄存器,标志寄存器和基址寄存器。它的内部是由寄存器,控制器,运算器和时钟四部分构成。
平常上课的时候我只是知道老师让我们往电脑上敲代码,敲完后运行成功,自己再加深理解,懂得如何运行成功的就行了。但是通过对这一章的学习,我懂得了程序是怎么运行,它的运行原理。CPU的处理很简单,但是程序还是要靠我们的编程能力和应用能力。
本书的第二章围绕数据是用二进制表示的来进行解答,了解信息(数据)在计算机内部是以怎样的形式来表现的,又是以怎样的方法进行运算的。只有了解了使用二进制来表示信息的方法及其运算机制,才能够了解程序的运行机制。
计算机之所以用二进制来处理信息数据,是由于IC的所有引脚,只有直流电压0V或5V两个状态。也就是说,IC的一个引脚,只能表示两个状态。IC的这个特性,决定了计算机的信息数据只能用二进制数来处理。虽然二进制数并不是专门为IC设计的,但是和IC的特性十分吻合。计算机处理信息的最小单位-位,则相当于二进制中的一位。8位二进制则被称为一个字节。字节是最基本的信息计量单位。对于二进制表示的信息,计算机不会区分它是数值,文字,还是某种图片的模式,而是根据编写程序的各位对计算机发出的指示来进行信息的处理(运算)。阅读2.2,我掌握了二进制转换为十进制的方法,理解了位权这个概念。移位运算就好比使用二进制表示的图片模式像霓虹灯一样流动的样子。十进制左移后会变成原来的10倍,100倍,1000倍……同样,二进制左移后就会变成原来的2倍,4倍,8倍……反之,二进制右移后则会变成原来的二分之一,四分之一,八分之一……二进制数种表示负数值时,一般会把最高位作为符号来使用,因此我们把这个最高位成为符号位。符号位是0时表示正数,符号位是1时表示负数。计算机在做减法运算时,实际上内部是在做加法运算。用加法运算来实现减法运算。获得补数,就是将二进制数的各数位的数值全部取反,然后再将结果加1。要牢记,将二进制数的值取反后加1的结果,和原来的值相加,结果为0这一法则。
第二章关于二进制数的讲解十分详细,包括举例也十分实际。阅读本章后,我对二进制数,移位运算,逻辑运算有了充分的了解。