• java中与运算,或运算,异或运算,取反运算


      //与运算 &  规则 :都为1时才为1
            System.out.println( 7 & 9);
            /*
             *  7二进制 0111    
             *  9二进制 1001
             * -----------
             *        0001   ==1
             * */
            
            //或运算 | 规则:有一个为1,则为1
            System.out.println(7 | 9);
            /*
             * 7二进制 0111
             * 9二进制 1001
             * ----------
             *      1111 == 15
             * */
            
            //异或运算  ^ 规则:不同为1
            System.out.println( 7 ^ 9);
            /*
             * 7二进制 0111
             * 9二进制 1001
             * ----------
             *      1110 == 14
             *
             * */
            
            
            //取反运算 ~ 规则:按位取反
            System.out.println( ~7);//正数
            /*
             * 7二进制 0000 0000 0000 0000 0000 0000 0000 0111
             *      1111 1111 1111 1111 1111 1111 1111 1000  取反之后变成负数了
             *         1000 0000 0000 0000 0000 0000 0000 0111 补码
             *         1000 0000 0000 0000 0000 0000 0000 1000 原码  == -8
             *
             * */
            System.out.println(~-7);
            /*
             * 7二进制 1000 0000 0000 0000 0000 0000 0000 0111
             *         1111 1111 1111 1111 1111 1111 1111 1000  负数先转成补码
             *      1111 1111 1111 1111 1111 1111 1111 1001  补码
             *      0000 0000 0000 0000 0000 0000 0000 0110 得到负数的补码之后进行取反 (这时得到的是正数) 6
             * */

  • 相关阅读:
    MySQL 误操作后数据恢复(update,delete忘加where条件)
    数据预处理流程
    pandas读取大量数据的分块处理
    go语言 nil一些注意的地方
    C语言编程优化运行速度
    go语言常用内置函数
    RSA加密算法
    一致性哈希算法原理
    数据服务的分布式模型
    leetcode链表题
  • 原文地址:https://www.cnblogs.com/ismileboy/p/7241567.html
Copyright © 2020-2023  润新知