码上敲享录 > java入门知识分享 > -2 >> 1和-2 >>> 1结果分析

-2 >> 1和-2 >>> 1结果分析

上一章章节目录下一章 2019-05-24已有1349人阅读 评论(0)

-2 >> 1和-2 >>> 1结果分析


解决方法:

-2 的二进制求法是正数取反加1,2 的二进制表示为0000 0000 0000 0000 0000 0000 0000 0010,因此-2的二进制表示为

1111 1111 1111 1111 1111 1111 1111 1110


1.(带符号右移“ >> ”)将运算数的二进制整体右移指定位数,正数高位用0补齐,负数高位用1补齐(保持负数符号不变),所以-2 >> 1的二进制结果为 1111 1111 1111 1111 1111 1111 1111 1111 ,除符号位之外,减一取反,得到-2 >> 1的十进制数为 -1 。


2. (无符号右移“ >>> ”) ,即无论正负数,右移之后符号位均补 0 。

所以-2 >>> 1二进制结果为 0111 1111 1111 1111 1111 1111 1111 1111,-2 >>> 1十进制结果 2^31 - 1


注: >> , << (没有无符号左移!), >>> , 运算符只针对int型和long型,byte ,short ,char型需要转换成Int型在进行操作。


0

有建议,请留言!

  • *您的姓名:

  • *所在城市:

  • *您的联系电话:

    *您的QQ:

  • 咨询问题:

  • 提 交