计算机为什么用补码存储数据?

本文由作者原创

目录:

  1、无符号数和有符号数的区别

  2、原码,反码,补码

  3、计算机为什么使用补码存储数据

 


 

1、无符号数和有符号数的区别

  数据在计算机中都是以二进制串的形式存储!字节是内存的基本单位,计算机存储和管理数据以字节为最小单位(还有  字、双字)。

  首先要分清无符号数和有符号数:

    无符号数:无符号数就是没有正负号之分,表示的是自然数(自我理解)

    有符号数:有符号数有正负号之分,在计算机中0表示正数,1表示负数

    例:对于一个字节来讲

    无符号数能表示的范围是:0~255

    有符号数能表示的范围是:-127~128

  注:其实对于相同字节数的无符号数和有符号数,它们能表示的的个数是相同的,只是我们人为的赋予了不同给的含  义,使它能表示的范围有了改变。

 

 


 

2、原码,反码,补码

  对于无符号数来讲它是没有原码,反码,补码之分的。(原码,反码,补码相同)

  有符号数才有原码,反码,补码编码方式

  数分为正数和负数两大类(计算机外部,也就是人为的区分)

  正数的原码,反码,补码相同

  负数的原码,反码,补码的相互转换规则是:负数的补码是原码取反加1(转换过程不设计符号位)

    例1:负数-12(当然我以字节为单位存储)

    原码:10001100

    反码:11110011

    补码:11110100(计算机存储的是补码,操作时都以补码操作)

    例2:正数 12

    原码:00001100

    反码:00001100

    补码:00001100

  补充:不管是二进制,十进制,还是十六进制相加的规则是一样的“满则进1”。

 

 


 

 

3、计算机为什么使用补码存储数据

  在计算机数据都是以补码的方式存储的,我认为原因主要以下两个(自我理解)

    优点:

    1.避免了0的编码有两个

    2.符号位和有效值位可以一起处理,减法通过加法就可以实现,即简化了计算机的结构设计也提高了运算速度。

    补:计算机的加减运算都是通过加法实现的,乘除运算都是通过乘法实现的(当然有的计算机有乘法器,有的计算      机无乘法器,乘法也是由加法器实现的)

转载于:https://www.cnblogs.com/spring-hailong/p/6071245.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值