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

第二章主要讲述了二进制。众所周知,计算机内部是由集成电路构成,其两侧有许多引脚,引脚有直流电压0v和5v两种状态,当有电压通过则为1,没有则为0,于是就有了计算机处理信息的最小单位-位,8位就是1字节。

关于位移运算,左移空出来的空位要补0,其实二进制于十进制一样,十进制数左移后会变成原来的10倍、100 倍、1000 ....样,二进制数左移后就会变成原来的2倍、4倍、8倍...反之,二进制数右移后则会变成原来的1/2、 1/4、1/8....右移移位后要在最高位填充移位前符号位的值(0或1)。这就称为算术右移。如果数值是用补数表示的负数值,那么右移后在空出来的最高位补1。

二进制数表负数时,最高位是符号位,符号位是0时表正数,为1时表负数。补数就是正数表示负数,求补方法即为求反+1。

逻辑运算是对二进制0和1分别进行处理。逻辑非指的是0变成1、1变成0的取反操作。逻辑与指的是“两个都是1”时,运算结果为1,其他情况下运算结果都为0的运算。逻辑或指的是“至少有一方是1”时,运算结果为1,其他情况下运算结果都是0的运算。逻辑异或指的是排斥相同数值的运算。“两个数值不同”,也就是说,当“其中一方是1,另一方是0”时运算结果是1,其他情况下结果都是0。不管是几位的二进制数,在进行逻辑运算时,都是对相对应的各数位分别进行运算。

posted @ 2019-02-23 18:10  封爵古怪  阅读(82)  评论(0编辑  收藏  举报