-
04:14 8143>>0*8&0xff 0x是十六进制的前缀,0xff转换成10进制就是255,转换成2进制就是11111111(省略了符号位),8143和11111111进行&运算,相当于取得8143的后8位。查看全部
-
位操作:http://blog.csdn.net/iukey/article/details/7195265 大小端:http://blog.csdn.net/zhaoshuzhaoshu/article/details/37600857查看全部
-
(1)按位与运算 & 1 & 1 = 1, 0 & 1 = 0 51 & 5 即 0011 0011 & 0000 0101 =0000 0001 = 1; (2)按位或运算 | 1 | 0 = 1,1|1 =1, 0|0 =0 51 | 5 即 0011 0011 | 0000 0101 =0011 0111 =55; (3)异或运算 ^ 1 ^ 1 = 0,1 ^ 0 = 1 ,0^ 0 = 0(两个位的值不同,则结果为1,相同结果为0) 51 ^ 5 即 0011 0011 ^0000 0101 =0011 0110=54; (4)<<左移运算符 1.将一个运算对象的各二进制位全部左移若干位(左边的二进制丢弃,右边补0) (注意:java中 整数位 32位) 11 << 2 = 44 -14 <<2 =-56 -14的二进制(11111111 11111111 11111111 11110010)左移2位 为 11111111 11111111 11111111 11001000 结果为(-56)(后面讲述负数在二进制中如何表示的) (5)>>右移运算符 将一个运算对象的各二进制位全部右移若干位,正数左补0,负数左补1. 4 >> 2 = 1; -14 >> 2 = -4; (6)~按位取反 ~6 = -7 (7)>>>无符号右移运算符 二进制各个位向右移指定的位数,右移后左边空出来的位用零来填充,移出右边的位被丢弃。 -14 >>> 2 =11111111 11111111 11111111 11110010 => 00111111 11111111 11111111 11111100 =1073741820 (8)<<<无符号左移运算符 二进制各个位向左移指定的位数,左移后右边空出来的位用零来填充,移出左边的位被丢弃。 3 <<< 1 = 6查看全部
-
位移标志查看全部
-
大小端查看全部
-
0xff是11111111查看全部
-
Java内置的进制转换查看全部
-
java内置的进制转换查看全部
-
java中的数据类型查看全部
-
JAVA内置的进制转换查看全部
-
二进制位运算查看全部
-
int类型值转为字节 字节转为int类型查看全部
-
java内置的进制转换查看全部
-
原码 反码 补码查看全部
-
异或:不同时为1,否则为0 交换值的三种方法查看全部
举报
0/150
提交
取消