Java的位运算符实例——与(&)、非(~)、或(|)、异或(^)
来源:互联网 发布:cctv下载网络电视下载安装 编辑:程序博客网 时间:2024/06/05 08:59
一、Java的位运算符实例——与(&)、非(~)、或(|)、异或(^)
1、与(&)
0 & 2 = 0
000010010
2、非(~)
~0 = 7
000111
3、或(|)
0 & 2 = 2
000010010
4、异或(^)
1 & 2 = 3
001010011
二、运用场景。(类似打标)
public enum FlagEnums { A(1, "高"), B(2, "富"),
C(3, "帅"),
;
private int bit; private String desc; FlagEnums(int bit, String desc) { this.bit = bit; this.desc = desc; } /** * 获取当前Flag十进制的值 * * @return */ public long getBit2Value() { BigDecimal posValue = new BigDecimal(2); posValue = posValue.pow(bit); return posValue.longValue(); } /** * 判断Flag中该位有没有打上 * * @param flag * @return */ public boolean isBitOn(long flag) { if ((flag & getBit2Value()) == getBit2Value()) { return true; } return false; } public int getBit() { return bit; } public void setBit(int bit) { this.bit = bit; } public String getDesc() { return desc; } public void setDesc(String desc) { this.desc = desc; }}
用户个性标签,我们可以用falg值来表示,个性标签组合决定了falg值。每个标签的 与 操作组合起来就是falg值了
下面对用户分别进行如下三种操作 :
①、给用户贴上"高"标签
flag | FlagEnums.A.getValue()
②、给用户抹掉"高"标签
flag & (~FlagEnums.A.getValue())
③、判断用户是否有"高"标签
FlagEnums.A.isBitOn(flag);
0 0
- Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)
- Java的位运算符实例——与(&)、非(~)、或(|)、异或(^)
- Java的位运算符实例——与(&)、非(~)、或(|)、异或(^)
- Java的位运算符详解实例-与(&)、非(~)、或(|)、异或(^)
- Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)
- Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)
- Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)
- Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)
- Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)
- Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)
- Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)
- Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)
- Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)
- Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)
- Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)
- Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)
- Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)
- Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)
- spring源码解析(一)---占位符解析替换
- CPP内存占用和sizeof计算大小的问题
- CUDA之矩阵转置程序优化实例
- java读取txt文件
- 题目1016:火星A+B
- Java的位运算符实例——与(&)、非(~)、或(|)、异或(^)
- git 常用命令
- 浅析 ThreadLocal
- 正确导入svn拉取的工程
- 推荐eclipse velocity一款插件 --- veloeclipse
- vb.net 教程 2-4 流程控制:循环语句 For each...Next
- mybatis 打印sql log配置
- 【MIT 公开课】Computer Science and Programing Lession7
- 《圈圈教你玩USB》 第三章 USB鼠标的实现——看书笔记(1)