> 与或是运算操作,非是对二进制取反
## 与操作(有0出0,全1出1)
| 数字 | 二级制 |
| --- | --- |
| A | 1 0 1 0 |
| B | 1 1 0 0 |
| A & B | 1 0 0 0 |
## 或操作(有1出1;全0出0)
| 数字 | 二级制 |
| --- | --- |
| A | 1 0 1 0 |
| B | 1 1 0 0 |
| A` |` B | 1 1 1 0 |
## 非操作(有1出0;有0出1)
| 数字 | 二级制 |
| --- | --- |
| A | 1 0 1 0 |
| ~A | 0 1 0 1 |
## 二进制操作实例
~~~
public enum EXTEND_FLAG_ENUM {
OVER_WEIGHT(1, "超重"),
OVER_CUBAGE(1 << 1, "超方"),
LATE(1 << 2, "晚点"),
SLOW(1 << 3, "缓行");
public int value;
public String name;
EXTEND_FLAG_ENUM(int value, String name) {
this.value = value;
this.name = name;
}
public static int addFlag(int org, EXTEND_FLAG_ENUM newFlag) {
return org | newFlag.value;
}
public static int removeFlag(int org, EXTEND_FLAG_ENUM oldFlag) {
return org & (~oldFlag.value);
}
public static boolean hasFlag(int org, EXTEND_FLAG_ENUM oldFlag) {
return (org & oldFlag.value) > 0;
}
}
~~~
用4个二进制为来表示订单的状态
| 二进制 | 代表状态 | 十进制 |
| --- | --- | --- |
| 0001 | 超重 | 1 |
| 0011 | 超重,超方 | 3 |
| 1011 | 超重,超方,缓行 | 11 |
| 1111 | 超重,超方,晚点,缓行 | 15 |
- 计算机网络
- 基础_01
- tcp/ip
- http转https
- Let's Encrypt免费ssl证书(基于haproxy负载)
- what's the http?
- 网关
- 网络IO
- http
- 工具
- Git
- 初始本地仓库并上传
- git保存密码
- Gitflow
- maven
- 1.生命周期命令
- 聚合与继承
- 插件管理
- assembly
- 资源管理插件
- 依赖范围
- 分环境打包
- dependencyManagement
- 版本分类
- 找不到主类
- 无法加载主类
- 私服
- svn
- gradle
- 手动引入第三方jar包
- 打包exe文件
- Windows
- java
- 设计模式
- 七大原则
- 1.开闭原则
- 2. 里式替换原则
- 3. 依赖倒置原则
- 4. 单一职责原则
- 单例模式
- 工厂模式
- 简单工厂
- 工厂方法模式
- 抽象工厂模式
- 观察者模式
- 适配器模式
- 建造者模式
- 代理模式
- 适配器模式
- 命令模式
- json
- jackson
- poi
- excel
- easy-poi
- 规则
- 模板
- 合并单元格
- word
- 读取
- java基础
- 类路径与jar
- 访问控制权限
- 类加载
- 注解
- 异常处理
- String不可变
- 跨域
- transient关键字
- 二进制编码
- 泛型1
- 与或非
- final详解
- Java -jar
- 正则
- 读取jar
- map
- map计算
- hashcode计算原理
- 枚举
- 序列化
- URLClassLoader
- 环境变量和系统变量
- java高级
- java8
- 1.Lambda表达式和函数式接口
- 2.接口的默认方法和静态方法
- 3.方法引用
- 4.重复注解
- 5.类型推断
- 6.拓宽注解的应用场景
- java7-自动关闭资源机制
- 泛型
- stream
- 时区的正确理解
- StringJoiner字符串拼接
- 注解
- @RequestParam和@RequestBody的区别
- 多线程
- 概念
- 线程实现方法
- 守护线程
- 线程阻塞
- 笔试题
- 类加载
- FutureTask和Future
- 线程池
- 同步与异步
- 高效简洁的代码
- IO
- ThreadLocal
- IO
- NIO
- 图片操作
- KeyTool生成证书
- 压缩图片
- restful
- 分布式session
- app保持session
- ClassLoader.getResources 能搜索到的资源路径
- java开发规范
- jvm
- 高并发
- netty
- 多线程与多路复用
- 异步与事件驱动
- 五种IO模型
- copy on write
- code style
- 布隆过滤器
- 笔试
- 数据库
- mybatis
- mybatis与springboot整合配置
- pagehelper
- 分页数据重复问题
- Java与数据库之间映射
- 拦截器
- 拦截器应用
- jvm
- 堆内存测试
- 线程栈
- 直接内存
- 内存结构
- 内存模型
- 垃圾回收
- 调优
- 符号引用
- 运行参数
- 方法区
- 分带回收理论
- 快捷开发
- idea插件
- 注释模板
- git
- pull冲突
- push冲突
- Excel处理
- 图片处理
- 合并单元格
- easypoi
- 模板处理
- 响应式编程
- reactor
- reactor基础
- jingyan
- 规范
- 数据库