面试题:说说或运算、异或运算
2015-06-06 18:53
281 查看
位异或运算:相同则0(0^0,1^1),不同则1(1^0,0^1)
位或运算:如果2个位都是0则是0(0|0),其余情况都是1(0|1,1|0,1|1)
有关异或运算的结论:针对同一个数据异或两次,该数本身不变,比如:a^b^b=a,a^b^a=b
测试的源代码:
位或运算:如果2个位都是0则是0(0|0),其余情况都是1(0|1,1|0,1|1)
有关异或运算的结论:针对同一个数据异或两次,该数本身不变,比如:a^b^b=a,a^b^a=b
测试的源代码:
package java基础题目; /* * 异或运算?或运算? * 位异或运算:相同则0(0^0,1^1),不同则1(1^0,0^1) * 位或运算:如果2个位都是0则是0(0|0),其余情况都是1(0|1,1|0,1|1) */ public class A2015年6月6日或和异或运算 { public static void main(String[] args) { method1(); method2(); // 测试或运算 method3(); } // 异或运算方法测试:位异或运算:相同则0,不同则1 public static void method1() { // 00000000 0000000 00000000 00000001 // 00000000 0000000 00000000 00000001 System.out.println("1^1=" + (1 ^ 1));// 0 注意里面那个要加括号,考虑运算符优先级问题 System.out.println("1^2=" + (1 ^ 2));// 3 } // 有关异或运算的结论:针对同一个数据异或两次,该数本身不变,比如:a^b^b=a,a^b^a=b // 这个结论可用于异或运算交换2个数字 public static void method2() { System.out.println("1^1^2=" + (1 ^ 1 ^ 2));// 2 System.out.println("1^2^2=" + (1 ^ 2 ^ 2));// 1 System.out.println("15^3^2^1^1^2^3=" + (15 ^ 3 ^ 2 ^ 1 ^ 1 ^ 2 ^ 3));// 15 } // 或运算 public static void method3() { System.out.println("1|1=" + (1 | 1));// 位上全是1则是1 System.out.println("1|2=" + (1 | 2));// 位上有一个是1则是3 System.out.println("0|0=" + (0 | 0));// 位上全是0则是0 } }
相关文章推荐
- 黑马程序员-18-java基础-多线程(1)-线程与同步
- Java的五个基础面试题 容易搞倒老手的
- LeetCode中有技巧的题需要面试前记得的
- Mysql面试题及答案
- mysql索引优化面试题
- MYSQL面试题:简单叙述一下MYSQL的优化
- 程序员面试宝典 7 - 指针与引用
- 不少程序员都会碰到的三个面试题
- 黑马程序员——Java基础---深层拷贝(数组、ArrayList)
- 黑马程序员----java内部类
- 黑马程序员---Method,数组反射和反射的作用
- 黑马程序员-博客 (10) 反射(基石class类、Constructor类、Field类、Method类、数组的反射、HashCode的分析)
- 黑马程序员-博客 (8) 张孝祥-7K月薪之一_交通灯管理系统
- 黑马程序员-博客 (9) 张孝祥-7K月薪之二_银行业务调度系统
- 黑马程序员-博客 (7) 集合之Set类、List类、Map类、HashSet和HashMap的性能
- 黑马程序员-博客 (5) 面向对象三之内部类、枚举类、
- 黑马程序员-博客 (6) 集合之Collection接口和Iterator方法、Collection接口和Collections工具类
- 黑马程序员-博客 (4) 面向对象二之包装类、抽象类、接口
- 面试题28字符串的排列
- 职场必备:简历信息图怎么做?