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
         * */

 
https://www.cnblogs.com/ismileboy/p/7241567.html
posted @   a318013800  阅读(864)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示