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

二进制数是一种基数为2的数制系统,它只有两个数码0和1。在计算机中,所有的信息,包括指令和数据,都是以二进制的形式存储和处理的。补数主要用于实现计算机中的减法运算,因为计算机内部通常只执行加法运算。对于一个正数,其补数就是其本身;对于一个负数,其补数是该负数绝对值的二进制表示取反后加1。移位运算可以看作是乘除运算的一种快速实现方式。左移一位相当于乘以2,右移一位相当于除以2。乘除运算涉及乘数或除数的每一位,可能涉及多步计算。移位运算直接操作二进制数的位,通常只需要一步就能完成。移位运算比乘除运算更快,但只适用于乘除数为2的幂的情况。
逻辑右移:将二进制数向右移动,左侧空出的位用0填充。这通常用于无符号整数的右移。
算数右移:将二进制数向右移动,左侧空出的位用符号位(最高位)填充。这通常用于有符号整数的右移。对于正数,逻辑右移和算数右移的结果是一样的,因为左侧填充的都是0。但对于负数,两者的结果不同,因为算数右移会保持数的符号不变。

posted @   沙鑫钰  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示