Java位运算实例分析


本文小编为大家详细介绍“Java位运算实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java位运算实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。java位运算可以分为左移和右移,其中右移还有无符号右移。java只对整型位移,可以分为int体系和long体系。int体系包括(byte, short, int, char),long体系只包含long。int体系中进行位运算时,除int类型外都会先转换为int再进行运算。.
无符号右移指的是,向右移动时,左边补位的是0。
一般来说,右移左移常用作乘2n 或者除以2n。(右移除以2n,左移乘以2n)位运算实际上是将数值对应的二进制进行左右位移操作。java中数值的存储、运算是以补码的形式进行的。数值有三种存储方式:原码、反码、补码。原码的最高位为符号位(0为正数,1为负数),其余位用于存储数值,以8位整型为例,2对应:-2对应:  反码和补码的正数都与原码相同。反码的负数在原码的基础上进行,除符号位外,其余按位取反。例如2的反码为:-2的反免费云主机域名码为:补码在反码的基础上进行,反码加1就变成补码。2:-2为:8位整型,反码可以表示的范围为:[-128,127]-128的反码表示为:可以理解为:(查看了一些解释,-128的补码规定为1000 0000,若不理解,可以先跳过。)左移即是补码向左移动,右边空出的用0补位,右移就是向右动,左边空出来的以符号位补位。(无符号右移,左边空出来的以0补位)。下面以具体代码举例(int 为32位):正数:负数:rx记录无符号右移结果,移动后左边补位以0补满,于是结果就变成了2147483646int类型的范围为[-2147483648, 2147483647],下面对上下界分别进行测试:根据位运算原理,在边界测试的结果并不一定是乘以2n或者除以2n。对边界值进行位运算时,需要注意。读到这里,这篇“Java位运算实例分析”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注百云主机行业资讯频道。

相关推荐: Java怎么调用elasticsearch

本篇内容介绍了“Java怎么调用elasticsearch”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Java语言从其运行速度上来说,在大多数方面是慢于底层操…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 09/08 11:25
Next 09/08 12:14

相关推荐