企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
> 与或是运算操作,非是对二进制取反 ## 与操作(有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 |