摘要: int a; a在内存中占四个字节long b; b在内存中占八个字节,把b强制转换成a, 就会少掉四个字节的信息,如果b的值不超过int型能表示的最大值,则不会有信息丢失,但是如果b的值超过了int 型能表示的最大值,高位的那四个字节的数据就会丢失和0xff与操作(a&0xff)为了让负的变为正的,与操作是:相同为1,不同为0所以int转换byte的的时候:View Code byte[] returnInt = new byte[4]; returnInt[0] = (byte)((intValueParm >>> 24) & 0xFF); returnI 阅读全文
posted @ 2012-11-08 16:48 softwa 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 每次看到H>>>2,这样的就容易混淆,到底是怎么进行位移的,今天在网上查了查,写个日志记下来,:1、<<(左移) 运算规则:按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零。 左移n位,相当于乘以2的n次方2、>>(带符号右移) 运算规则:按二进制形式把所有的数字向右移动对应位数,低位移出(舍弃),高位的空位补符号位,即正数补0,负数补1. 右移n位,相当于除以2的n次方3、>>>(无符号右移)运算规则:按二进制形式把所有的数字向右移动对应位数,低位移出(舍弃),高位的空位补0。其他结构和>>相 阅读全文
posted @ 2012-11-08 16:31 softwa 阅读(300) 评论(0) 推荐(0) 编辑