C语言复习之补码

C语言复习之补码,第1张

C语言复习之补码

文章目录
  • C语言复习之补码
  • 前言

  • 一、原码


  • 二、反码


  • 三、补码

  • 总结


前言

在计算机中,数据被储存在内存当中,而数据被储存的方式就是变为补码,方便在有符号数据计算的时候计算。




一、原码

原码(true form)是一种计算机中对数字的二进制定点表示方法。


原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1,其余位表示数值的大小。


例如2原码表示为0000 0010,-2原码表示为1000 0010。



我们使用原码的优点是它能够直观的表达数据,但它的缺陷是不能够直接进行运算,需要把数值和符号分开后才能计算,这样计算起来会很麻烦。



二、反码

反码也是一种定点表示方法,它大多用在系统环境设置中。



在求反码时,正数的反码是它本身,负数的反码就是在原码的基础上每位取反,符号位不变。



三、补码

在计算机中,数据的存储大多都是以补码形式进行存储的,利于有符号数据的运算。



补码的规则和反码相似,正数的补码是它本身,负数的补码就是在原码的基础上每位取反,符号位不变,最后再加一。


根据原码规则,我们能够知道一个有符号的八位二进制数的取值范围是-128~127。


0000 0000既不是正数也不是负数,在一个字节的数据中1000 0000 是最小的数,所以我们认为它是-128,它的反码是1111 1111,补码是1000 0000,溢出一位。



补码的存在就是为了有符号运算产生的,在硬件电路中加法器的运算过程我会在有空的时候更新。


总结

数据的形式大抵就是这些,如有错误或欠缺,欢迎评论指出。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/568677.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-04-09
下一篇2022-04-09

发表评论

登录后才能评论

评论列表(0条)

    保存