读书笔记:2.1:1比特代表1位二进制数,计算机处理信息的最小单位是比特,它相当于一位二进制数。8比特=1字节,比特的英文bit是binary digit(二进制数)的缩写。8位二进制数的位数是以8的倍数来增长的,这是因为计算机处理信息的基本单位是8位二进制数。8为二进制数也称为字节。字节是信息的基本单位。比特是最小单位,字节是基本单位。
2.2:十进制39,我们知道其各位的数字3和9并不仅仅表示它们本身的数值。其中3表示310=30,9表示91=9.在这里,各位数字所乘的10和1就叫做位权。位不同,位权也不同。
一个数所表示的数值,原本就是其各位上的数字乘以位权在相加的结果。例如,十进数39就可以写成30+9,这个数的大小就是其各位数字乘以位权再相加的结果。
2.3:移位运算是一种对二进制数的各位数字进行平移的运算。将各位数字向左(高位)移位称为左移,向右(低位)移位称为右移。一次运算可以对数字平移多位。运算符<<代表左移运算,右移运算的运算符是>>。<<运算符和>>运算符的左侧是要进行移位运算的数,右侧是要平移的位数。 通过数位的移动,移位运算也可以用来代替乘法运算和除法运算。001001111左移2位的结果是10011100,这意味着左移后的结果是原数的4倍。
2.4:要在二进制中表示负数,一般的方法是将最高位用来表示符号,这时最高位被称为符号位。计算机进行减法运算时,其内部实际上进行的是加法运算。计算机是用加法运算来实现减法运算的。为了实现这一点,在表示
负数的时候,我们需要使用“2的补码”这一特殊的方法。二的补码是在二进制中用正数来表示负数的一种神奇的方法。要得到2的补码,我们需要先将二进制数的各位数字反转,然后再将结果加1.例如,将-1用8位二进制数表示,就相当于求1(即00000001)的2的补码。00000001的2的补码,就是将其各位数字中的的0变成1,1变成0,然后得到的结果加1,也就是11111111。
2.5:只有在右移运算中才需要区分逻辑移位和算术移位。在左移运算中,只要将空出来的低位用0补充,就可以同时满足逻辑左移和乘法运算两种情况的需要了。
2.6:计算机能够执行的运算包括移位运算、算术运算的逻辑运算。算数运算指的就是加减乘除四则运算,逻辑运算指的是对二进制数各位的0和1分别进行运算,包括逻辑非(NOT运算)、逻辑与(AND运算)、逻辑或(OR运算)和逻辑异或(XOR运算)4种。