2024年最全模与计算机补码介绍_模的自动丢弃(2),2024年最新2024互联网大厂C C++面经合集

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

计算机中的符号数有三种表示方法,即原码反码补码。三种表示方法均包含符号位数值位两部分,符号位都是用 0 表示“正”,用 1 表示“负”;而数值位,三种表示方法各不相同。

在计算机系统中,数值一律用补码来表示和存储**。**原因如下:

  • 使用补码,可以将符号位和数值域统一处理;
  • 加法和减法也可以统一处理;
  • 补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。

补码的特性如下:

  • 一个负整数(或原码)与其补数(或补码)相加,和为模;
  • 对一个整数的补码再求补码,等于该整数自身;
  • 补码的正零与负零表示方法相同。

2 模

模的概念可以帮助理解补数和补码。

模是指一个计量系统(如时钟)的计数范围。计算机也可以看成一个计量机器,它也有一个计量范围,即存在一个模。

对于时钟来说,其计量范围是 0~11,模为 12。

n 位的计算机的计量范围是 0~2^{n} - 1,模为 2^{n}

模,实质上是计量器产生溢出的量,它的值在计量器上表示不出来,计量器上只能表示出模的余数。任何有模的计量器,均可化减法为加法运算。

例如:假设当前时针指向 10 点,而准确的时间是 6 点,那么调整时间可有以下两种拨法:一种是倒拨 4 小时,即:10 - 4 = 6;另一种是顺拨 8 小时:10 + 8 = 12 + 6 = 6。

在上面的示例种,以 12 模的系统中,加 8 和减 4 效果是一样的,因此凡是减 4 运算,都可以用加 8 来代替。对模而言,8 和 4 互为补数。实际上在以 12 为模的系统中,11 和 1,10 和 2,9 和 3,7 和 5,6 和 6 也都有这个特性,这些数字共同的特点是两者相加等于模

对于计算机而言,其概念和方法也完全一样。n 位计算机,假设 n = 8,所能表示的最大数是 11111111,若再加 1 成为 100000000(9 位),但因只有 8 位,所以最高位 1 丢失,又回到了 00000000,所以 8 位二进制系统的模为 2^{8}。在这样的系统中减法问题也可以化成加法问题,只需把减数用相应的补数表示,转化为加法相加其补数即可。

把补数用到计算机对数值的处理上,就是补码。

3 补码总结

补码只是一种相对合理的编码方案,这个方案在包含负数的机器中解决了以下三个问题:

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值