原码 补码

引用url:http://blog.163.com/tianxw_2001/blog/static/140144120070345720265/

原码  补码 

在计算机系统中,数值一律用补码来表示
主要原因
    1、符号位可以与其他为统一处理
    2、减法可以按照加法来做。
    3、在补码表示的数值想加时,高位有进位将被舍弃。
补码计算:
    1、正数的补码与原码相同
    2、负数的补码,符号位为1,其余位为该数的绝对值取反加1。
    例: -7  负数符号位为 1 , 7 原码 00000111 取反 11111000 加1  11111001 
以上理论有个比较基础的理论概念为“模”
   “模”是一个计量系统的计数范围。如时钟:
    时钟计量范围为 0-11 模= 12
    表示n位的计算机计量范围是 0 - 2(n) -1 模式2(n)  注:n表示指数。
   “模”其实是计算机产生“溢出”的量,值在计算器上表示不出来。计算机上只能表示出模的余数。任何有模的计算器,均可减法划算为加法。
例如:
   当前指向10点钟,而准确时间为6点钟,调整时钟可以有两种做法:
   1、倒拨4小时,即 10-4 = 6
   2、顺拨8小时,即 10 + 8 = 12 + 6 = 6
   在模为12的系统中,加8和减4的效果是一样的。因此凡是减4的运算都可以用加8来代替。
对于计算机也是一样:
   以 001 为例 表示 1  ,模为 10进制的8,所以模对应为7, 7= -1 故 -1 即 111。
   因为计算机需要表示到负数的范围,定义第一位为1表示为负数,0为正数 ,即有符号二进制数字。
  0001 即表示为 整数的1 , 而 1111 表示为 -1。
  以 110 为例 表示 6 ,模为 10进制的 8,所以莫对应为 2, 2= -6 故 -6 即 010
  在计算机内表示为 正数6 补码为 0110 -6的补码为 1010 ,0110 + 1010 = 10000 抛弃最高位1 即为 0 ,也即将减法换算为加法来做。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值