java基础:原码反码补码

注意:计算机的世界只有补码,没有原码和反码.

一.原码:

正数的原码是本身: 10是 0000 1010 

负数的原码是本身.最高位用1代表符号 -10是 1000 1010

二.反码

正数的反码是本身:0000 1010

负数的反码是1 和0 对换.除了最高位. 1111 0101

三.补码

正数的补码是本身:0000 1010

负数的补码是反码+1   1111 0110

 也就是说:

10在计算机里存储的是 0000 1010

-10在计算机里存储的是 1111 0110

为什么要使用补码还不使用原码呢?因为使用原码计算不正确.

比如:10 加上 -10 = 0 

0000 1010 

1000 1010

----------------相加

1001 0100  = 这玩意明显不是0

那么使用补码来看.

  0000 1010 

  1111 0110

---------------------

1 0000 0000 由于byte只有8位所以舍弃了外边的那个1 最终结果= 0

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值