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

通过学习这一章,我知道了二进制中位权和基数到底指什么,左移只要在空出来的低位补0,移位过程中最高位或最低位溢出的数字丢弃了即可,移位运算可以通过数位移动来代替乘法运算和除法运算类似于十进制形成倍数关系。右移较为复杂,需要考虑移位后的正负问题,也就需要考虑最高位补0还是1的问题,二进制中表示负数值时,一般会把最高位作为符号使用,称为符号位,符号位为0时表示正数,为1时表示负数。之前没接触过补数,也不知道补数究竟是来做什么的,这次知道了补数是通过正数来表示负数好让计算机通过加法运算实现减法运算,0与1互反,为了获得补数,只要将二进制数的各位数值全部取反再将结果+1,书上通过求几个具体数字的补数也更便于我们进一步理解。右移还要区分逻辑右移和算术右移,逻辑右移类似于左移不需要考虑正负,在最高位补0即可,算术右移要考虑正负,当然左移也有逻辑左移和算术左移,但都是在最低位补0。符号扩充提到的并不多,扩充时不需要考虑正负,将符号位填充高位即可。逻辑与或非类似于高中学过的,书中也提到了记忆的技巧,把0当做假,1当做真,不需要死记真值表。这一章极大的拓展了了我对左移和右移运算和补数的了解。

转载于:https://www.cnblogs.com/mqmq/p/10327469.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值