补码的原理

补码计算原理 补码原理前言正文 前言   补码(Two’s complement) 是一种用二进制表示有符号数的方法,也是一种将数字的正负号变号的方式,常在计算机科学中使用。   采用补码存储的最大优点是只用一种运算方法就能计算正数和负数,不用考虑操作数的正负号。在做减法时可转换成加上被减数的相反数的补码,这样只要有加法电路和补码电路就能完成各种整数的加减运算,极大简化了电路上的设计。另外使用补码系统后就不会出现 +0 和 -0 两种 0 的表示方式,减少了数据运算的复杂度。 正文   为什么使用补码可以使加法计算出减法 阅读详情

       在计算机的基础知识中,原码补码和反码是必须要知道的一项内容,

       呐,cpu只能计算加法,但是为什么要引入反码和补码,为什么负数用补码做加法可以代替原         码的减法运算?

以下是正题:

在位数不变的情况下,以三位二进制数为例,从0~7分别是:

000-001-010-011-100-101-110-111,

8是1000,在位数不变的情况下,可以把它视为和000是相同的情况,

也可以把它视为一个时钟,8点在正时间顺序上加2是10点,同样在逆时间顺序上减(倒退)10个小时同样也是10点,也就是说8+2=8-10,

这个正2是由负10加上模12得到的,此处的算法其实和高中字母前后移位是差不多道理:

      假设字母x(小写)向后移5位:str((ord(x)+5)%26+97)

假设我有一个原码010,他的反码是101,反码的求法是原码取反,但更应该理解为是三位二进制最大值111-010,000~111是8个数,所以:反码=(模-1)-原码这个公式可以换成反码+1=模-原码;补码=模-原码,所以原码的减法运算可以换成是补码的加法运算。

然后关于符号位-2,减一个正数,正数符号位为0,再变成补码后符号位不变,符号位为0,在计算的时候最高位加0不变,所以可以带着符号位一起计算。

从b大看来得哈哈哈。

计算机原码、反码、补码的计算原理 手把手带你拿捏计算机原码、反码、补码的计算原理 基本概念: 原码: 直接将二进制按照正负数的形式翻译成二进制就可以。 反码: 将原码的符号位不变,其他位依次按位取反就可以得到了。 补码: 反码+1就得到补码。 扩展: 1、在计算机中我们能看到的数值都是原码。 2、在计算机系统中,数值一律用补码来表示和存储,而不是我们看到的原码。原因在于:使用补码可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理(CPU只有加法器),此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。 3、反码起. 阅读详情

相关推荐

告别绕线!用Altium Designer从零设计一个PCB平面变压器(附3D模型)

本文详细介绍了如何使用Altium Designer从零设计一个PCB平面变压器,包括磁芯选型、电气参数计算、PCB设计实战技巧以及3D验证与生产输出。通过将绕组直接集成到PCB层中,配合嵌入式磁芯,实现了小型化、高功率密度的电源设计,适用于中低电流、高频应用场景。附3D模型,帮助读者快速掌握这一创新设计流程。

weixin_33716154的博客 442

补码原理理解

补码原理理解 今天上课灵机一动想到了补码的原理 什么是补码 补码是由原码变换而来,原码就是带符号的二进制数。正数的补码与原码一样,负数的补码是由原码取反(除了符号位)后加一得到的。 举个例子: 正数 1 的原码为:0000 0001 对应的补码为:0000 0001 负数 -1 的原码为:1000 0001 对应的补码为:1111 1111 补码的用处 补码自然是有用的,计算机中的加法运算...

ZG____的博客 907

mysql数据目录迁移后表不存在_mysql 直接从date 文件夹备份表,还原数据库之后提示 table doesn`t exist的原因和解决方法...

补充:正常情况下,建议数据库备份最好用工具进行备份,通过拷贝数据库表进行数据迁移,不同的环境会出现各种不同的意外问题。背景:今天在整理一个网站的时候,操作系统由于系统自动更新导致一直出现系统蓝屏死机,唉,悲剧了,于是重新安装了系统 windows server 2008 enterprise 32bit。详情:系统安装完成后,重新配置之前那个网站,appache服务配好之后,再配置数据的时候是这样...

weixin_39628271的博客 2673

补码乘法运算的原理

补码乘法运算的原理 补码的出现统一了计算机运算中的加减法操作,那对于补码的乘法该如何操作呢? 补码表示法 纯小数补码的定义 [x]补={x1>x≥02+x0>x≥−1(mod2)[x]_{补}=\left\{ \begin{aligned} x &&&&& 1> x \geq0 \\ 2+x &&&&& 0>x \geq -1 \end{aligned} \right.(mod \quad

qq_45757722的博客 9919

CMap数据库学习及结果可视化

CMap是一个生物信息学数据库和工具,旨在通过比较基因表达谱来揭示药物、基因和疾病之间的潜在关联。CMap数据库主要用于寻找药物、化合物和生物过程之间的关系,并用于药物重定位(drug repurposing)和疾病机制研究。

zfyyzhys的博客 5599

STM32使用LORA模块通信

目录 一、模块使用方法 1、模块简介 2、硬件及功能 3、传输方式 二、模块上手 1、连接 2、编写代码 usart3.h usart3.c lora.h lora.c 一、模块使用方法 本文以正点原子ATK-LORA-01模块为例进行介绍。 1、模块简介 ATK-LORA-01-V3.0(V3.0是版本号,下面均以ATK-LORA-01表示该产品)是ALIENTEK推出的一款体积小、微功率、低功耗、高性能远距离LORA无线串口模块。模块设计是采用高效的IS...

qq_54706971的博客 3万+

二进制补码计算原理详解

二进制负数的在计算机中采用补码的方式表示。很多人很好奇为什么使用补码,直接使用原码表示多好,看上去更加直观和易于计算。然而事实告诉我们,这种直观只是我们人类的一厢情愿罢了,在计算机看来,补码才是它们最想要的。那么,为什么计算机使用补码更好,又是如何通过补码来计算数值的呢? 我看过网络上很多解释补码的文章,几乎一致的回答就是符号位不变,其他各位逐位求反再加一。在此我想说,这些都不是根本原理。谁都知...

zhuozuozhi的博客 5万+

手把手教你用STM32的SPI驱动MCP2517FD实现CAN FD通信(附完整代码)

本文详细介绍了如何使用STM32通过SPI驱动MCP2517FD实现CAN FD通信,涵盖硬件连接、SPI驱动编写、寄存器配置及数据收发实战。提供完整代码示例和常见问题排查指南,帮助开发者快速构建高可靠性的CAN FD通信系统,适用于汽车电子和工业控制等领域。

weixin_30607029的博客 674

补码原理

声明,以下内容为转载,原文地址:https://blog.youkuaiyun.com/leonliu06/article/details/78685197 读了原文,个人有几点理解如下: 4bit可以表示的无符号数为0~15,有符号数为-8~7;但是对于计算机来讲,是无所谓正数或者负数的,计算机只需要不断的加(进位),然后取模就可以了。 溢出的过程可以看做是取模的过程。例如补码的推导过程中的最后:0101 + 1101 = 10010,最高位的1表示16,取模/溢出的过程就是将16去掉,变成0010=2. .

w1346561235的博客 2080

PostgreSQL中idle in transaction状态的5个隐藏危害及实战解决方案

本文深入剖析了PostgreSQL中`idle in transaction`连接状态的五大隐藏危害,包括内存与锁泄漏、VACUUM受阻导致表膨胀、事务ID加速消耗、连接池资源耗尽以及增加故障排查复杂度。文章提供了基于`pg_stat_activity`视图的监控方法、识别高危事务的SQL脚本,并给出了从数据库参数调优(如设置`idle_in_transaction_session_timeout`)到应用层编码规范与连接池配置的完整实战解决方案。

zzz56的博客 234

顶刊级科研绘图技巧

顶刊级科研绘图技巧

2401_89571885的博客 1157

补码原理——负数为什么要用补码表示

文首  我们都知道负数在计算机中是以补码(忘了补码定义的戳这里)表示的,那为什么呢?本文尝试了解补码的原理,而要想理解它,首先得理解算术中“模”的概念。所以首先看一下什么是模,然后通过一个小例子来理解补码。1 模(Modulo)1.1 什么是模数 In mathematics, modular arithmetic is a system of arithmetic for integers,

leonliu06的博客 4万+

Debezium系列之:使用指定值替代指定字段的值

Debezium系列之:使用指定值替代指定字段的值

zhengzaifeidelushang的博客 306

[计算机原理]补码运算原理

补码出现的目的: 人是可以区分符号位的,但计算机辨别"符号位"会让计算机的基础电路设计变得十分复杂! 于是人们想出了将符号位也参与运算的方法.即补码运算。   补码运算的原理: 有几点要提前说明: 1.八位二进制数的范围是0000,0000~1111,1111 (00H~FFH),当数超过FFH后又会重头开始,不妨将此想象成一个00H到FFH的钟表。 2.计算机中-1~-128以补码形...

Russius的博客 6174

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

地表最强补码原理解释!

还在纠结补码的原理嘛?来看看这篇文章吧!!!

weixin_73495056的博客 715

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

二进制补码原理

C= B + 1 = 1111 1110 =254(即2^8-2)2、补数:a的补数为(模-a)举例子8的补数为4(即00001000的补数为11111000)0000 0000 =256(即2^8,即为8位二进制模)基于时钟(模12):8-2 =8+(-2) =8+10(2的补数)=6点。负数的反码:符号位不变,实际数值位取反。基于二进制(模256):8-2=8+(-2) =8+(=结果共9位,但是只能保存8位,会。

qq1020034449的博客 871

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

补码及原理

补码机器数与真值原码,反码,补码原码反码补码补码加减读书人都喜欢深入 机器数与真值 1.机器数: 一个数在计算机中的二进制表示形式,叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号,正数为0,负数为1 栗子: 以8位整型数据为例 十进制中的+3在计算机中转换成二进制为 0000 0011 十进制中的-3在计算机中转换成二进制为 1000 0011 2.真值: 因为第一位是符号位,所以机器数的形式值就不等于真正的数值。例如上面有 符号数10000011,其最高位1代表负,其真正数值是-

我叫DP的博客 731

关于减法运算中使用补码的原理深究

计算机原理中使用补码的主要目的是用加法运算来代替减法运算,本文详细探究补码的底层原理。

qq_33288658的博客 951

二进制补码计算原理

二进制的负数在计算机中采用补码的方式表示。很多人很好奇为什么使用补码,直接使用原码表示多好,看上去更加直观和易于计算。然而事实告诉我们,这种直观只是我们人类的一厢情愿罢了,在计算机看来,补码才是它们最想要的。那么,为什么计算机使用补码更好,又是如何通过补码来计算数值的呢? 我看过网络上很多解释补码的文章,几乎一致的回答就是符号位不变,其他各位逐位求反再加一。在此我想说,这些都不是根本原理。谁都知道这么求,数电第一章就明确写了怎么求,关键是为什么这么算,其中的原理是什么? 1.什么是补码 这个没有找到官方定义

qq_52679773的博客 2292

补码原理详细解读

 计算机进行加减运算时为了使设计尽量简单. 全部采用的加法,即根据运算法则减去一个正数等于加上一个负数, 即:3-2= 3 + (-2) = +1 ,因此只需要将负数的加法完善就会使计算机运算的设计更简单。 而此种运算需要将符号纳入到二进制中,于是人们开始探索 将符号位参与运算, 并且只保留加法的方法。   十进制中的表达式: 1-1=0 。  原码表达式1 - 1 = 1 + (-1) = [00000001]原 + [10000001]原 = [10000010]原 = -2 。如果用原码表示, 让符号

qq_48784015的博客 1918
上一篇: 关于乘基取整法原理的个人理解
WOF_D
博客等级 码龄3年 0粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值