java中的与或非_与或非 · java development · 看云
> 與或是運算操作,非是對二進制取反
## 與操作(有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 |
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的java中的与或非_与或非 · java development · 看云的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 极米h2怎么手机投屏
- 下一篇: 什么是java构造函数_什么是java构