【Android小技巧-位运算】位运算
基础知识
- 一个int 值 32位 比如:1 就是: 00000000 00000000 00000000 00000001 最大的int值就是: 0xFFFFFFFF -> 11111111 11111111 11111111 11111111
- << >> & 这些运算符就不再赘述了
按钮
问题:一个业务执行完后,有2个重要的参数:code(1-10) + 成功还是失败
解决方式1
我们新建一个bean, bean 中有这两个字段,通过这个bean 携带这两个信息
解决方式2
通过位运算来解决,最后一位记录成功还是失败,前面的位数记录 code
1. 生成结果数据
result(1 << 1 + 1) //code=1 成功
result(2 << 1 + 0) //code=2 失败
2. 解析结果数据
void result(int r){
int code = r>>1 & 0xFFFF; //或者简单点: r&0x1
int succ = r<<31 & 0xFFFF;
}

浙公网安备 33010602011771号