对二进制减法的理解

news/2024/9/23 10:16:54

以下内容是写在通过NandGame网站学习二进制运算的,但是没想到写了这么多,想着也可以单独发出来

写到这里突然想到最近在《编码:隐匿在计算机软硬件背后的语言》这本书看到二进制减法的运算,作者一开始不是直接讲减数要转换成补码再计算,而是讲了十进制减法为了不使用借位如何方便计算。比如61-19,由于1不够减需要向6借以一位,那么有没有什么办法不借位计算呢?可以利用十进制的补数实现,可以通过99-19=80,61+80=141,141-100+1=42,三个式子简化一下就是61+(99-19)-100+1,这个式子和61-19的结果是一样的,因为+100和-100其实就是0,这样子主要是不用借位,这样子计算对于人类来说太复杂了,毕竟简单的借位对人类来说很简单,为什么要提十进制的补数在减法的应用,因为二进制减法就是用了这个逻辑来实现的,减数为什么要取反?因为二进制的1111 1111-0001 0011=1110 1100,这里用八个1去减就相当于十进制的99去减,这样子不用借位同时刚好是减数的反码,0001 0011的反码就是1110 1100,接下来是被减数加上减数的反码,0011 1101+1110 1100=1 0010 1001,接着再加一,1 0010 1001+1=1 0010 1010,前面加了1111 1111 和1,接下来要减掉,1 0010 1010-1 000 000 =0010 1010,取得了二进制的补码。这样子在二进制的计算减法中也没用使用借位。文字和式子放在一起可能不好理解,单独把式子提取出来。

61(0011 1101)-19(0001 0011)补数的减法
十进制:
99-19=80
61+80=141
141-100+1=42
把上面三个合成一个式子:
61+(99-19)-100+1=42
二进制:
1111 1111-0001 0011=1110 1100(惊讶的发现0001 0011对每一位取反就是1110 1100)
0011 1101+1110 1100=1 0010 1001
1 0010 1001+1=1 0010 1010
1 0010 1010-1 000 000 =0010 1010

二进制的就不合成一个式子了,因为一合成那么多0和1更不好理解,整体来讲就是二进制的减法就是用了补数的逻辑实现的,这下就理解了二进制减数为什么要取反以及为什么要再加一,经过这两个操作被减数加减数得出的是原本两个数相减的结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/63667.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

网站打不开数据库错误等常见问题解决方法

当遇到网站打不开且出现数据库错误等问题时,可以采取以下步骤进行排查和解决:检查默认页面:如果网站显示“主机开设成功!”或者“恭喜,lanmp安装成功!”这样的信息,这可能是服务器默认放置的页面。检查wwwroot目录下是否有自己的程序文件,如果没有,上传正确的文件,并…

网站数据库错误的原因通常包括配置错误、编码错误、硬件故障、网络问题、数据损坏、权限设置不当、软件更新不兼容、SQL注入攻击等

网站数据库错误可能由多种因素引起,主要包括以下几点:配置错误:数据库或应用程序的配置不当可能导致连接失败或其他运行时错误。 编码错误:程序中的逻辑错误或语法错误也可能导致数据库操作失败。 硬件故障:服务器硬件出现问题,如硬盘损坏、内存故障等,会影响数据库的正…

网站数据库为什么错误呢

当网站数据库出现错误时,可能有多种原因。以下是一些常见的原因及解决方法: 常见原因及解决方法内存限制问题症状:内存耗尽,如“Allowed memory size of 134217728 bytes exhausted”。 解决方法:修改 php.ini 文件中的 memory_limit 配置项。 在 PHP 脚本中使用 ini_set …

为什么数据库查询总是报错

数据库查询总是报错可能有以下几个常见原因:SQL语句错误:语法错误:SQL语句编写不正确,比如缺少分号、括号不匹配等。 表或列不存在:查询中引用了不存在的表名或字段名。 查询条件错误:WHERE子句中的条件表达式错误,比如比较运算符使用不当、值类型不匹配等。数据库连接问…

mac输入法 cpu占用,解决mac使用输入法出现卡顿延迟

1、介绍 网上有各种方法,例如有touchbar的macbook关闭输入建议;定时重启“简体中文输入法”进程;关闭“显示器具有单独的空间” 这些方法网上都能看到,有些人说能解决,有些人说还是卡,我试过了问题依然存在。 网上还有一种思路就是换第三方输入法,一般推荐的都是搜狗输入…

中电金信 :基于开放架构的私有云建设实践

​ 01开放架构私有云诞生背景随着国产化创新建设的深化,产业侧行业软件持续进行云原生改造,金融机构拥抱云和容器技术,实现数智化转型已是大势所趋。近年,云原生技术以及架构发展速度更是惊人,私有云开始有了新架构、有了能解决中小金融机构私有云建设中问题和需求的方法。…

使用Docker或WSL2加速搭建GIS开发环境

Accelerate Your Development Environment with Docker & WSL2 ​​ Welcome to accelerate your development environment with WSL to and darker. Im Kris Daugherty and Im here today with my colleague, Andrew breeding. Were from the GIS solutions and developme…

Text to Image AI Generator All In One

Text to Image AI Generator All In One 文生图 AIText to Image AI Generator All In One文生图 AIdemos prompt: A cat sitting in a watermelon field looking at a Mac Book computerhttps://deepai.org/machine-learning-model/cute-creature-generatorhttps://www.canva.…