二进制加减法计算

本文详细介绍了二进制数的存储和计算方法,包括原码、反码和补码的概念。在有模的度量系统中,减法可通过加补数实现。在计算机中,负数以补码形式存储,正数则用原码表示。通过实例展示了二进制加减法,解释了在二进制环境下如何进行减法运算,以及如何将减法转换为加法处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.十进制下的计算

1.模数

假设下文【模】定义如下:某个可度量系统的度量范围
实际【模】在度量系统中无法表示,该值是系统溢出值,遇【模】则表示要进位了,系统可度量值为【模】的余数
如:
时:12 ------ 0,1,2,3…11
分:60 ------ 0,1,2,3…59
秒:60 ------ 0,1,2,3…59

2.补数

一个可确定范围的度量系统,取模为 12,为方便演示我们将其环形排列:
在这里插入图片描述
综上:当度量系统模为 12 时,4 和 8 互为补数,即 4 + 8 = 12
结论:在有模的度量系统中,减某个值等价于加上其补数(可能进位丢失),即将减法转为加法处理 此也为计算机处理二进制减法的做法

2.二进制数的存储

1.计算机计数

计算机用二进制表示数值,且规定内存的最高位作为符号位,用0表示正数,用1表示负数

如一个32位计算机,可以理解成 模 = 2^32 的度量系统,计数值超出 2^32 后则会溢出导致计算异常

又如Java中的Integer类型,长度为 4 字节,即 32 比特,除去最高位为符号位,其实际范围为:-2^31 ~ 2^31 - 1

2.原码

取整数绝对值转换为二进制:

±6 原码:00000000 00000000 00000000 00000110

3.反码

正整数反码为其本身(原码)
负整数反码为其原码按位取反:

Integer -6
-6 反码:11111111 11111111
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猪悟道

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值