[编织消息框架][设计协议]位运算
常用位运算符号
上节介绍bit基础,这节课介绍bit常用基本运算
为什么要使用 | & % ~ 这几种常见的运算?
如果你理解需求是非常简单的
需求1:有八种状态可以叠加 那么每个状态占一个byte位 每个状态可用 | 叠加起来 需求2:要知道已使用那个状态 用 & 执行清位数据 得出的结果必然跟状态相等 需求3:要清除所有状态用 &~ 组合 需求4:在有限的容器里或数组循环使用 用 %,这样做目的是复用资源池
左移 <<
比较常见的是 << 1 或者 << 8 或 << (8 *n)
<< 1 相当于 原来的值 * 2 倍
<< 8 相当于 提高一个byte 位置 常用来网络传输转换
int a = 1; System.out.println(a << 1); System.out.println(a << 8); 2 256
右移 >>
>> 1 相当于 原来的值 / 2
>> 8 相当于 降低一个byte 位置 常用来网络传输转换
System.out.println(2 >> 1); System.out.println(256 >> 8); 1 1
作者: | solq |
博客地址: | http://www.cnblogs.com/solq111 |
博客版权: | 本文以学习、研究和分享为主,欢迎转载,但必须在文章页面明显位置给出原文连接。 如果文中有不妥或者错误的地方还望高手的你指出,以免误人子弟。如果觉得本文对你有所帮助不如【推荐】一下!如果你有更好的建议,不如留言一起讨论,共同进步! 再次感谢您耐心的读完本篇文章。 淘宝店: 海豚极货店 QQ群:9547527 |
如果你热爱生活、热爱编程、热爱吉他。扫一扫加我微信 |
我的新书《编织消息框架》目前进行中,感谢大家关注! |
本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。 |