java-位运算符(口诀)

Posted 栗子~~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java-位运算符(口诀)相关的知识,希望对你有一定的参考价值。

前言

  如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
  而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!


java-位运算符(口诀)

01口诀

|   按位或   1001 | 1010 = 1011  (口诀,有真则真 似or逻辑)
^  按位异或  1001 ^ 1010 = 0011  (口诀,不等则真)
&  按位与   1001 & 1010 = 1000  (口诀,同真则真 似and逻辑)
~  按位取反  ~1001 = 0110 (这条没口诀)

02 用法举例-最简单的对称加密

a ^ b = 加密串
当a为秘钥时:
加密串 ^ a = b
当b为秘钥时:
加密串^b = a

02::01 实战


public class Test2 {
    public static void main(String[] args) {
        int a = 15;
        int b = 30;
        int c = a^b;
        System.out.println("加密串:"+c);
        System.out.println("当a为秘钥时:");
        System.out.println("b:"+String.valueOf(c^a));
        System.out.println("当b为秘钥时:");
        System.out.println("a:"+String.valueOf(c^b));

    }
}

运行:
在这里插入图片描述

02::02 原理 --异或运算

a的十进制为15,二进制为:1111
b的十进制为30,二进制为: 11110

加密串c为a^b:10001
注:异或口诀:不等则真

 1111
11110
---------
10001

当a为秘钥时:
b=加密串 ^ a

10001
 1111
---------
11110

转为十进制为:30
当b为秘钥时:
加密串^b = a

10001
11110
---------
 1111

转为十进制为:15

以上是关于java-位运算符(口诀)的主要内容,如果未能解决你的问题,请参考以下文章

转PHP 位运算应用口诀

位运算常用操作总结位运算应用口诀清零取反要用与,某位置一可用或若要取反和交换,轻轻松松用异或移位运

C运算符优先级完整口诀

Java中处理二进制移位

Java 中位运算,原码,反码,补码的详解

java运算符优先级记忆口诀