• 二进制运算


    (1)按位与运算 &

       1 & 1 = 1, 0 & 1 = 0
    
       51 & 5  即 0011  0011 & 0000  0101 =0000 0001 = 1;
    

    (2)按位或运算 |

          1 | 0 = 1,1|1 =1,  0|0 =0  
        51 | 5 即 0011  0011 | 0000  0101 =0011  0111 =55;
    

    (3)异或运算 ^

         1 ^ 1 = 0,1 ^ 0 = 1   ,0^ 0 = 0(两个位的值不同,则结果为1,相同结果为0)
    
        51 ^ 5 即 0011  0011 ^0000  0101 =0011  0110=54;
    

    (4)<<左移运算符

    1.将一个运算对象的各二进制位全部左移若干位(左边的二进制丢弃,右边补0)
    
    (注意:java中 整数位 32位)
    
    11 << 2 = 44
    
    -14 <<2 =-56
    
    -14的二进制(11111111  11111111  11111111 11110010)左移2位
    
                为       11111111  11111111  11111111  11001000
    
            结果为(-56)(后面讲述负数在二进制中如何表示的)
    
    

    (5)>>右移运算符

    将一个运算对象的各二进制位全部右移若干位,正数左补0,负数左补1.
    
    4 >> 2 = 1;
    
    -14 >> 2 = -4;
    
    

    (6)~按位取反

    ~6 = -7
    

    (7)>>>无符号右移运算符

    二进制各个位向右移指定的位数,右移后左边空出来的位用零来填充,移出右边的位被丢弃。
    
    -14 >>> 2 =11111111  11111111  11111111 11110010 => 00111111 11111111  11111111  11111100 =1073741820
    
    

    (8)<<<无符号左移运算符

    二进制各个位向左移指定的位数,左移后右边空出来的位用零来填充,移出左边的位被丢弃。
    
    3 <<< 1  = 6 
    

    (9)二进制中负数的计算

    负数以正数的补码表示
    
    原码:一个整数按照绝对值的大小转化成二进制的数
    
    反码:将二进制数按位取反
    
    补码:反码加 1 
    
    以-14 举例
    
    原码:14 即 00000000  00000000  00000000  00001110
    
    反码:         11111111  11111111  11111111  11110001
    
    补码:          11111111 11111111  11111111  11110010
    
    所以-14  的二进制是 11111111 11111111  11111111  11110010
    
    假设 我们得到  二进制让我们求整数 就是倒着来取相反数
    
    如二进制是           11111111  11111111  11111111  11110010
    
    得到反码减1         11111111  11111111  11111111   11110001
    
    原码:                  00000000  00000000  00000000   00001110
    
     即  1110  = 14  所以取反  就是-14
    
  • 相关阅读:
    1.14验证码 彩票
    String代码示例
    1.13作业
    控制台输入人数和分数 自动判断最高分最低分
    对矩阵进行转置运算
    16、输入三角形的三个边,求其面积
    02、
    15、判断字符串是否回文——字符串
    14、求出最大元素的下标及地址值——数组
    13、字符串在指定的地方以及元素个数实行逆置——字符串
  • 原文地址:https://www.cnblogs.com/c-x-a/p/9478643.html
Copyright © 2020-2023  润新知