《程序是怎样跑起来的》第二章

在第一章中,初步了解了程序的运行机制,这一章讲了数据在计算机内部的表现形式是以二进制数值来表现。二进制数据是用0和1两种数码来表示。计算机中的数据用二进制数来处理,计算机处理信息最小单位是“位“,8位二进制数是一个字节。对于二进制的转换,我会转换但并不知道其背后的原理,书中讲的很详细,首先从位权说起,位权:数制中每一固定位置对应的单位值成为位权。例如一个两位数,个位数位权是1,十位数位权是10,基数指某个进制的值R如二进制的基数是2,八进制的基数是8。

二进制的移位运算中运算符<<表示左移,二进制左移一位,十进制相当于原来的二倍。右移过程中会出现最高位空出来的问题,如何填充呢?这里出现一个新名词“补数”,补数就是用正数来表示负数。补数求解的变换方法是“取反+1”用书中的栗子:“1”的二进制:00000001  取反:11111110  补数:11111111。在右移中空出来的最高位填充0表示逻辑右移,1则是算术右移。再举个栗子:-4二进制:11111100 >>  00111111,最高位填充为1其结果是:-1,只是算术右移。

通过学习第二章在巩固以前学的知识的同时获得了新的知识:补数、算术右移与逻辑右移的区别、移位和算数运算的关系等。

posted @ 2019-01-26 09:45  TrickRuse  阅读(80)  评论(0编辑  收藏  举报