《程序是怎样跑起来的》第二章
本章主要讲了用二进制来理解数据。上一张在介绍标志寄存器时提到了比特这个词,计算机处理信息的最小单位是比特,它相当于1位二进制数。1比特代表一位二进制数,由于8比特等于1字节,所以32比特就是4字节。二进制数左移一位,结果变成原来的2倍,因此左移两位就会变成原来的4倍。在2的补码形式中,所有位都是1的二进制数,表示十进制的-1。由于集成电路的每根引脚都只能表示两种状态,所以计算机必须要用二进制来处理信息,一位只能表示两种状态,所以我们需要使用0、1、10、11、100这种二进制计数法。移位运算是一种对二进制数的个位数字进行平移的运算,将个位数字向左移位称为左移向右移位称为右移一次运算,可以对数字平移多位。运算符<<代表左移运算,右移运算的运算符是>>。<<运算符和>>运算符的左侧是要进行移位运算的数,右侧是要平移的位数。无论程序中的数使用几进制来表示,在计算机内部都会转换成二进制来处理。左移之后空出来的低位会用0来填充,但这只适用于左移情况,右移运算空出来的高位上填充的数字有1和0两种情况。算术运算指的就是加减乘除四则运算,逻辑运算指的是对二进制个位的0和1分别进行运算,包括逻辑非、逻辑与逻辑或和逻辑异或四种。逻辑非就是将0反转为1将1反转为0,逻辑与就是在两者都为1时运算结果为1,否则运算结果为0,逻辑或就是在至少有一方为1时运算结果为1,否则运算结果为0。逻辑异或是一种排他的,也就是不喜欢对方和自己相同的运算,当两者不同,即一方为1,一方为0时运算结果为1,否则运算结果为0。

浙公网安备 33010602011771号