java中的无符号右移>>>
摘要:java中的byte类型在运算过程中都会被转换为int类型进行运算,这样在对负的byte类型进行无符号右移的时候会出现和有符号右移同样的结果。example:11110000>>>4 我们期待变为 00001111 ,但结果变为11111111。原因:11110000先被转换为整型11111111111111111111111111110000,然后无符号右移4位变为00001111111111111111111111111111, 截取后8位11111111赋值给原值,出现以上结果。技巧:我们可以把要参与运算的byte和0xff按位与(保持低8为不变,高位全部赋0),然后再
阅读全文
posted @ 2012-10-10 11:04
浙公网安备 33010602011771号