想的是 16 进制异或,程序却认为是 10 进制?
请问各位,下面这个数组的数据都是16进制的,怎么对每一项做异或运算?
array:19 [▼
0 => 12
1 => 92
2 => 31
3 => 30
4 => 32
5 => 30
6 => 30
7 => 30
8 => 30
9 => 30
10 => 32
11 => 32
12 => 38
13 => 32
14 => 33
15 => 30
16 => 33
17 => 30
18 => 30
]
尝试像这样做,但是结果都是按10进制异或的:
$result = $hex_arr[0];
for ($i = 1; $i < count($hex_arr); $i++) {
$result ^= $hex_arr[$i];
}
我只知道最终正确的结果转换成16进制应该是 B9
,但是我算出来是 77
......
base_convert 了解一下