《程序是怎么跑起来的》第二章学习笔记

第一章笔记传送门 👉 点击这里
第二章笔记传送门 👉 点击这里
第三章笔记传送门 👉 点击这里
第四章笔记传送门 👉 点击这里
第五章笔记传送门 👉 点击这里
第六章笔记传送门 👉 点击这里
第七章笔记传送门 👉 点击这里
第八章笔记传送门 👉 点击这里
第九章笔记传送门 👉 点击这里

第二章:数据是用二进制表示的

单元前问题:

  1. 32位是几个字节
    4个字节(一个字节为8位)
  2. 二进制01011100转化为十进制数是多少
    92
  3. 二进制数00001111左移两位后,会变成原数的几倍
    4倍(即2的平方倍)
  4. 补码行式表示的8位二进制数11111111,用十进制数表示的话是多少
    -1(所有位都是1的二进制数,用十进制数表示的话就是-1)
  5. 补码行式表示的8位二进制数10101010,用16位的二进制数表示的话是多少
    1111111110101010
  6. 反转部分图形模式时,使用的是什么逻辑运算
    XOR运算(XOR运算只反转与1相对应的位,NOT运算是反转所有的位)

2.1 用二进制数表示计算机信息的原因

  • IC的所有引脚,只有直流电压0V或5V两个状态。(即IC的一个引脚只能表示两个状态)(大部分IC的电源电压都是+5V,但是为了控制电量消耗,有时也会使用+5V之下的电压,这是引脚状态不只是0V和+5V,还存在不接受电流信号的高阻抗状态。)
  • IC分为模拟IC和数字IC
  • IC的一个引脚表示二进制数的1位
  • 位:计算机处理信息的最小的单位(最小单位)
  • 字节:最基本的信息计量单位(基本单位)(内存和磁盘都是使用字节单位来存储和读写数据)
  • 用字节单位处理数据时,如果数据小于存储的字节数,那么高位就用0填补

2.2 什么是二进制数
(这部分高中都学过,就不赘述了)

2.3 移位运算和乘除运算的关系

  • 二进制数所特有的运算,也是计算机所特有的运算,因此可以说是了解程序运行原理的关键。
  • 移位运算:
    ’ << '左移(变大)
    ’ >> '右移(变小)
    运算符的左侧是被移位的值,右侧表示移位的位数。
    左移运算空出来的低位用0补齐
    移位操作使最高位或者最低位溢出的数字,直接丢弃就可以了
    移位运算能替代乘法运算和除法运算

2.4 便于计算机处理的“补数”

  • 二进制表示负数时一般把最高位当作符号位(0表示正数,1表示负数)
  • 计算机做减法运算时,其实是内部在做加法运算
  • 补数:用正数来表示负数
  • 如何求补数:各数位取反后再将结果加1(取反+1)
  • 需要注意的是,当运算结果为负数时,运算结果的值也是用补数的行式来表示的。
    (比如3-5这个运算,3的8进制表示为00000011,而5=00000101的补数为11111011.
    因此3-5=00000011+11111011=11111110.可以类比负负得正的性质,对补数求补数,可 以得到该结果的绝对值,上述结果11111110求补数为00000010,所以绝对值大小为2, 根据原数的符号位,则可知运算结果为-2)

2.5 逻辑右移和算数右移的区别

  • 当二进制表示图形模式而非数值时,移位后需要在最高位补0.类似于霓虹灯往右滚动的效果,这就是逻辑右移。
  • 当二进制数作为带符号的数值进行运算时,移位后要在最高位填充移位前符号位的值,这就是算术右移。
    (以八进制为例)符号扩充:保持值大小不变的情况下将8位二进制数转化为16进制或32位。

2.6 掌握逻辑运算的窍门

  • 在运算中,与逻辑对应的术语是算术(我们不妨这样考虑:将二进制数表示的信息作为四则运算的数值来处理就是算术。而像图形模式那样,将数值处理为单纯的0和1的罗列就是逻辑。
  • 逻辑运算:
    逻辑非(NOT运算):取反,0->1, 1->0
    逻辑与(AND运算):同时为1时结果为1,其他情况都为0
    逻辑或(OR运算):至少有一方为1时,运算结果为1
    逻辑异或(XOR运算):排斥相同数值的运算。两个数值不同,运算结果为1
  • 不管是几位的二进制数,在进行逻辑运算时,都是对相应的各数位分别进行运算
  • 逻辑运算的窍门:摒弃用二进制数表示数值这一想法。不要把二进制数表示的值当作数值,而是把它当作图形或者开关。逻辑运算的运算对象不是数值,因为不会出现进位的情况。
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值