首页 > 其他分享 >什么是补码

什么是补码

时间:2022-10-02 23:55:06浏览次数:57  
标签:25 二进制 什么 补码 取反 负数 mod

什么是补码

  • 众所周知,符号位不变,负数原码数值取反后\(+1\)即可得到补码,补码可以用加法来代替减法,刚学的小朋友可能完全不知所然,补码是个完全模糊的概念。
  • 我们先用十进制来进行说明,
    \(36-2=34\)
    \(36+98=34 \mod 100\)
    上述式子中的数字最高位为\(2\),因此在\(\mod 100\)的情况下,\(-2\)和\(+98\)具有相同的意义.
    因此我们可以得到公式:\(补码=负数+10^{n+1}\).
    对于二进制来说:
    \(30-5=25\) \((11110-00101=11001)\)
    \(30+27=25\mod 32\)\((11110+11011=|1|11001)\)
    这里\(-5(1.00101)\)的补码即为\(27(1.11011)\)
    不难发现,假设二进制数最高有\(n\)位,可以得到:
    \(补码=负数+2^{n+1}\).
    通过上面两个例子,我们现在大概已经清楚了什么是补码.可能有的人会问,这个二进制的最高位不是变化的吗?还是感觉很难落实到具体的计算机硬件上.其实,计算机的字长是固定的,也就是说每次算补码的时候取的\(2^{n+1}\)都是相同的.
    至于那个取反+1的口诀,就是根据上面的公式推导出来的,自己举两个例子不难证明.

标签:25,二进制,什么,补码,取反,负数,mod
From: https://www.cnblogs.com/lr599909928/p/16749798.html

相关文章

  • java中参数里面三个点代表什么呢?
    转自:​​http://www.java265.com/JavaCourse/202203/2426.html​​可变参数:   在计算机程序设计,一个可变参数函数是指一个函数拥有不定引数,即是它接受一个可变数目的......
  • 企业数据填报系统能解决什么样的问题?_光点科技
    你是否遇到过以下问题:企业数据填报量大,重复性工作多?公司部门数据分散、残缺不全,没有数据聚合应用?数据核验工具缺失,人工校验投入大?当你每年填写大批的报表时,你是否在想,系统明......
  • Python中变量名后面加冒号是什么意思?
    见过一个大佬写的代码是这样的:user:User=User.objects.filter(id=data.get('uid')).first()变量名后面的冒号是:类型注解,3.6以后加入的,冒号右边是类型,仅仅是注释,有些鸡......
  • 晶体管的工作原理,什么是晶体管? 形象解释!【视频笔记/截图】
          晶体管的工作原理,什么是晶体管?(点击我观看原视频)......
  • npx是什么
    一、简介npm从5.25.2版开始,增加了npx命令。方便了我在项目中使用全局包。二、安装Node安装后自带npm模块,可以直接使用npx命令。如果不能使用用,就要手动安装一下。 ......
  • linux下nano中复制粘贴剪切的快捷键是什么
    1.复制:alt+62.剪切:ctrl+k3.粘贴:ctrl+u4.自由剪切:ctrl+6指定起始剪切位置,按上下左右键来选中内容,然后按下ctrl+k即可自由剪切5.撤销:alt+u使用快捷Ctrl+X,然后会......
  • 国庆のsurprise (什么都没有)
    在雨中把伞放下,就辨不出脸上是雨水还是泪水;独自穿梭,一任悲伤逆流成河……湿透的衣衫和湿透的梦想,哪个更凉凉?今天中午回宿舍的路上,你看到那个拎着伞淋雨的少女了吗?多少无......
  • 什么是数据填报系统?有专业的公司做吗?_光点科技
    什么是数据填报系统?数据填报是报表用以满足企业用户可以提出的灵活报送数据的需求,能快速发展开发各类信息数据采集系统的专业功能。多源填充模型可以实现数据的多源提取和多......
  • 问:React的setState为什么是异步的?
    前言不知道大家有没有过这个疑问,React中setState()为什么是异步的?我一度认为setState()是同步的,知道它是异步的之后很是困惑,甚至期待React能出一个setStateSync()......
  • 工程主管负责构建什么产品?
    工程主管负责构建什么产品?我刚刚加入了一个新团队,并向我的新队友询问了我们的架构。我们在建造什么?一些人详细介绍了B2B和B2C之间的业务划分,并加入了一点B2B2C。其......