189 8069 5689

二进制和位运算符的联系

这篇文章主要介绍“二进制和位运算符的联系”,在日常操作中,相信很多人在二进制和位运算符的联系问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”二进制和位运算符的联系”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

创新互联主营蔡甸网站建设的网络公司,主营网站建设方案,成都app软件开发,蔡甸h5小程序开发搭建,蔡甸网站营销推广欢迎蔡甸等地区企业咨询

  • 十进制转二进制

    • 正数转二进制 

        除2取余,高位补零, 计算机内部表示数的字节单位是定长的,如8位,16位,或32位。所以位数不够时,高位补零
        System.out.println(Integer.toBinaryString(10));
        System.out.println(Integer.toBinaryString(Integer.MAX_VALUE));
        System.out.println(Integer.toBinaryString(Integer.MIN_VALUE));
        打印结果:1010
                           1111111111111111111111111111111
                           10000000000000000000000000000000
        解析:Integer 4个字节占32位,打印时高位0省略Integer10的二进制实际为28个0+1010 
                   所以在二进制中Integer最大值为正负表示符+31个1,0表示正数1表示负

       负数转二进制

        System.out.println(Integer.toBinaryString(21));
        System.out.println(Integer.toBinaryString(-21));
        打印结果:10101
                          11111111111111111111111111101011
        -21的二进制转换过程:
                21的二进制减1为10100,再进行取反得到01011

二进制转十进制

        21的二进制为10101 = 1*2^0+0*2^1+1*2^2+0*2^3+1*2^4=1+4+16=21
        11111111111111111111111111101011首位为1代表为负数 先取反加1转化为10101再转化为10进制前面添加负号

位运算符>>,<<, >>>

        <<      :     左移运算符,num << 1,相当于num乘以2
        >>      :     右移运算符,num >> 1,可除范围相当于num除以2
        >>>    :     无符号右移,忽略符号位,空位都以0补齐

        12的二进制为1100,-12的二进制为0100
        12>>4=0  位移后二进制 1
        -12>>3=-2 位移后二进制0
        -12>>4=-1 位移后二进制为1
        右移运算符正数时最小值为0,负数时最小值为-1
        -12 >>> 4=268435455   
        12 >>> 4 = 0

到此,关于“二进制和位运算符的联系”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


名称栏目:二进制和位运算符的联系
标题URL:http://jkwzsj.com/article/ijshij.html

其他资讯