想的是 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......

:computer: & :coffee:
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
leo
最佳答案

base_convert 了解一下

4年前 评论
W-W (楼主) 4年前
leo (作者) 4年前
W-W (楼主) 4年前
leo (作者) 4年前
W-W (楼主) 4年前
讨论数量: 1
leo

base_convert 了解一下

4年前 评论
W-W (楼主) 4年前
leo (作者) 4年前
W-W (楼主) 4年前
leo (作者) 4年前
W-W (楼主) 4年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!