按位(位、与、或、抑或)

 1 package com.yusuanfu;
 2 public class anweiyu {
 3     public static void main(String[] args) {
 4         byte num1 = 3;
 5         byte num2 = 5;
 6         /*位预算
 7          *num1          0011
 8          *左移2位           1100
 9          *右移2位           0000
10          */
11         System.out.println("左移2位    " +(num1<<2));
12         System.out.println("右移2位    " +(num1>>2));
13         /*取相同各位
14          *      0011
15          *      0101
16          * 与:  0001
17          */
18         byte num3 = (byte) (num1 & num2);
19         System.out.println("按位与  " +num3);
20         /*取相同与不同位
21          *      0011
22          *      0101
23          * 或: 0111
24          */
25         byte num4 = (byte) (num1 | num2);
26         System.out.println("按位或  " +num4);
27         /*取不同位上的值
28          *         0011
29          *         0101
30          * 异或:   0110
31          */
32         byte num5 = (byte) (num1 ^ num2);
33         System.out.println("按位异或  " + num5);
34     }
35 }
时间: 2024-10-05 04:01:59

按位(位、与、或、抑或)的相关文章

位运算(转)

12 位运算 C语言是为描述系统设计的,因此它应该具有汇编语言所以完成的一些功能.C语言既有高级语言的特点,又具有低级语言的功能.因而具有广泛的用途和很强的生命力. 12.1 位运算符和位运算 运算符 含义 & 按位与 | 按位或 ^ 按位异或 ~ 取反 << 左移 >> 右移 说明: (1)位运算符中除 ~ 外,均为二目运算符,即要求出侧各有一个运算量. (2)运算早只能是整型或字符型的数据,不能为实型数据. 12.1.1 按位与运算符 & 参加运算的两个数制,按

位运算+枚举

位运算http://c.biancheng.net/cpp/html/101.html 在很多情况下(比如翻棋子)在搜索时涉及大量枚举往往导致超时,位运算则很好地解决了这个问题,方便又快捷 HDU  1882   Strange Billboard http://acm.hdu.edu.cn/showproblem.php?pid=1882 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot

位运算心得

1.位运算 今天复习位运算的时候发现一个规律,之前都没有注意的,就是二进制和2的关系 2^0 = 0000 2^1 = 0010 2^2 = 0100 2^3 = 1000 后面的一次类推,可以很容易识别一个二进制的数和2的关系 二进制之间的运算也都可以换算成和2相关的运算,和2相关的乘法和除法直接可以转化成移位运算来解决 例如: 0010 + 0010 => 0010 * 2 => 0010 左移1位 => 0100 = > 2*2 = 4 0101 * 0100 = >

STL+位运算的文件

1.queue 队列 queue的头文件是<queue>. 定义queue对象的示例代码如: queue<int>q;  队列内存放的是int类型的数 queue<double> 队列内存放的是double类型的数 queue<node>q;  队列内存放的是结构体类型 入队列:q.push(x)   将x元素放到队列的末端. 出队列:q.pop()    将第一个元素删除 访问队首元素: q.front(); 访问队中的元素的个数: q.size(); 2

位运算(转载)

12 位运算 C语言是为描述系统设计的,因此它应该具有汇编语言所以完成的一些功能.C语言既有高级语言的特点,又具有低级语言的功能.因而具有广泛的用途和很强的生命力. 12.1 位运算符和位运算 运算符 含义 & 按位与 | 按位或 ^ 按位异或 ~ 取反 << 左移 >> 右移 说明: (1)位运算符中除 ~ 外,均为二目运算符,即要求出侧各有一个运算量. (2)运算早只能是整型或字符型的数据,不能为实型数据. 12.1.1 按位与运算符 & 参加运算的两个数制,按

嵌入式单片机,外部中断,中断标志位介绍

body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gray; border-width: 2px 0 2px 0;} th{border: 1px solid gray; padding: 4px; background-color: #DDD;} td{border: 1px solid gray; padding: 4px;} tr:nth-chil

Java中关于位运算的面试题

位运算的效率是最高的,因为位位运算是直接对二进制进行操作 位运算只能应用于整型和char类型(char类型可以看做是特殊的无符号的整形) 面试题: a: 判断一个数是否是奇数 a & 1 == 1; b: 对2 ^ n 取余. a & (2^n - 1); c: 如何判断一个数是否是2^n a & (a-1) == 0: d: 两个整数之间的交换: e: 用最有效率的方式求2 * 8的值 2 << 3; a: 判断一个数是否是奇数 a & 1 == 1; /*

win7 64位系统 PB连接oracle数据库出现“oracle library oci.dll could not be loaded”问题的解决方法

今天与大家分享一个自己的学习笔记,希望能给遇到同样问题的人带来帮助. 不知道大家在win7 64位系统下用 PB连接oracle数据库时,是否遇到过“oracle library oci.dll could not be loaded”问题. 今天,在win7 64位系统下用 PB连接oracle数据库时,一直出现上述错误,在百度上找了很久,都没有找到一个完整的解决方案,咨询了很多人,(他们都说是我的PB和oracle没装好,但我装的时候没出现任何问题,一切都很顺利,而且PB和oracle都能正

哪位大兄弟有用 cMake 开发Android ndk的

一直用 Android studio 开发ndk,但是gradle支持的不是很好,只有experimental 版本支持 配置各种蛋疼.主要每次新建一个module都要修改配置半天.之前也看到过google 开发文档有提到 cmake 但是一直没用.哪位大兄弟用过,说下经验 哪位大兄弟有用 cMake 开发Android ndk的 >> android 这个答案描述的挺清楚的:http://www.goodpm.net/postreply/android/1010000007205830/哪位

位运算

位运算的实际应用场景 http://blog.csdn.net/zmazon/article/details/8262185