现在的位置: 首页 > 综合 > 正文

JAVA位运算笔记

2012年09月28日 ⁄ 综合 ⁄ 共 478字 ⁄ 字号 评论关闭

1. 算术移位 负数右移时左边补1,其它情况补0,操作符为 << 和 >>

2. 逻辑移位 均为补0,操作符为 << 和 >>>

3. byte/short/char在移位运算之前,自动转换为int类型,运算结果也为int

4. long移位后的结果为long型

注意:在进行位运算时切记加上必要的括号,不要依赖语言的优先级!!!

下面以EMAIL中常见的base64编码做演示,为了方便起见,仅对最小的操作单元(即3个字节)进行计算,且跳过查表转换过程。

base64的简介http://www.5dmail.net/html/2004-1-30/200413084348.htm

维基百科http://zh.wikipedia.org/zh/Base64

2011-10-17补:下面的unsignedByte2int(byte)函数的目的时间保存无符号数的byte值转换成int,更简洁的写法应当是:return b & 0xff;

  代码重写中。。。

PS:C的移位运算http://www.cnblogs.com/maxupeng/archive/2010/11/22/1883678.html

抱歉!评论已关闭.