java 如何表示负数

任何整数类型都存在负数,那么java中是如何表示负数的呢。

例如 5 在 计算机中的二进制表示为 0101,那么其负数(-5)怎么表示呢?

通过这个步骤就行:

注意,在做如下操作之前,我们应该非常注意5的二进制表示,它的高位一定要为0,也就是说如果5写成101,那么我们必须先将其表示成0101,这样按位取反的时候高位才会变为1。

将5按位取反,标为 1010, 然后加上1,变为1011,即为-5在计算机中的表示。
反过来,看到1011,第一反应看他的高位,如果高位为1,则肯定是个负数,那么他到底是负几呢,如下操作:将1011按位取反,得到0100,然后加上1,则得到其值0101,为5。则说明1011代表的是-5。

下面再练习两个:

1. 写出101101的十进制表示?
      第一步,取反,010010;
      第二步,加1,010011;
      第三步,计算十进制,1+2+16=19;
      第四步,得出结论:101101 = -19。

2. 写出-24的二进制表示?
     第一步,写出24的二进制表示,011000;
     第二步,取反,100111;
     第三步,加1,101000;
     第四步,得出结论,-24 = 101000。

补码:计算机中,数都以补码的形式存放,正数的补码是其本身,负数的补码是其绝对值取反加1。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值