我的问题可能是如此基本,但我仍然在问这个问题 . 我提到this post和我在逻辑 &
中理解的是按位和 0101 & 0011 = 0001
是否有任何用例可以在十进制数上应用 &
?例如,如果考虑逻辑 ^
(XOR),则在数组中查找唯一编号很有用,其中所有其他元素都出现两次 .
例如:如果你有一个数组 [1,1,2,2,3,3,4,4,6,6,7]
,你需要得到7
int[] x = new int[]{1,1,2,2,3,3,4,4,6,6,7};
int y = x[0];
for (int i = 1; i < x.length; i++) {
y ^= x[i];
}
System.out.println(y);
这段代码会快速给出结果,同样在这样的用例中是否有 &
的用法?
1 回答
没有“应用和十进制数”这样的东西 . 数字值以二进制形式存储在计算机中 . 数值的默认打印是十进制格式,但这只是为了使它们具有人类可读性 .
例如,对于
int
使用&
(逐位AND),当你有一个int
位掩码(其中每个位代表一些东西)时,你可以使用逐位AND来确定任何特定位的值 .例如: