网站首页 > 资源文章 正文
本文详细解释二进制的减法过程,以及补码的由来,保证看完本文,您会明白的透彻
二进制表示正负数
因为二进制只能表示‘0’ ‘1’ ,所以规定最高位用‘0’表示正数;最高位‘1’表示负数
既然能表示负数了,我们就试试来做个减法运算,如图所示
显然结果是-4
补码的引入
现在时针指向3点,那现在如果要时针指向12点,就有两种方法:
①逆时针旋转3格,也就是-3
②顺时针旋转9格,也就是+9
仔细想一想,如果知道了该数的补数的话,那是不是加上补数就又重新归0了?
补码的由来
现在我们来试试,如果以10为模,2对10的补数是8,总之就是两个补数之和等于模
以上例子是以十进制来说的,那在二进制中该如何处理呢?
现在换个角度想想,2对10的补数可以理解为2对9的补数加1,这样做的好处是避免用十进制的麻烦了
把这种方法用在二进制中,就是对2求补数,然后再加1(想想这是不是课本上写的取反再加1呢?)
2进制无非都是用0 1表示,所以求补数就是按位取反,最后再加1就成了二进制的补数了
下面,我们来看看补码的表示,如图所示
相信现在我们会求补码了
以-3为例
如图所示
这里规定只能存储4位,显然超出了一位,这一位(溢出位)就丢掉了
总结
用补码来代替负数的本质就是利用补数之和等于模这个道理
- 上一篇: “原码、反码、补码”计算机如何更好的实现算法?
- 下一篇: 算法水题练习(二)(算法题模板)
猜你喜欢
- 2024-09-08 1.2 计算机内信息的表示与存储(计算机内部信息的表示及存储采用的是)
- 2024-09-08 C++手撕底层:位、字节、原码、反码、补码的深入理解
- 2024-09-08 算法水题练习(二)(算法题模板)
- 2024-09-08 “原码、反码、补码”计算机如何更好的实现算法?
- 2024-09-08 PLC的加、减、乘、除指令有什么用?其实功能十分强大!
- 2024-09-08 【1682023】指令:NEG(088)—— 完成二进制求补的功能指令
- 2024-09-08 C语言-自运算、位运算、取反运算(c语言位运算的运算规则)
- 2024-09-08 软件设计(十三)-原码、反码、补码、移码
- 2024-09-08 原码、反码和补码:深度解析C语言中的二进制表示
- 2024-09-08 计算机数据表示及运算方法(需要一个好使的脑子)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)