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-位运算符(口诀)的主要内容,如果未能解决你的问题,请参考以下文章