AT_abc121_d [ABC121D] XOR World
题目描述
给定 $f(A,\ B)$ 表示从 $A$ 到 $B$(包括 $A$ 和 $B$)的所有整数的按位异或和,请你求出 $f(A,\ B)$ 的值。
按位异或的定义如下:
对于整数 $c_1,\ c_2,\ ...,\ c_n$,它们的按位异或和 $y$ 定义为:
- $y$ 的二进制表示中,第 $2^k$ 位($k \geq 0$)为 $1$,当且仅当 $c_1,\ c_2,\ ...,\ c_n$ 中二进制表示的第 $2^k$ 位为 $1$ 的数的个数为奇数,否则为 $0$。
例如,$3$ 和 $5$ 的按位异或和为 $6$(二进制分别为 `011` 和 `101`,它们的按位异或为 `110`)。
输入格式
输入从标准输入读取,格式如下:
> $A$ $B$
输出格式
请计算 $f(A,\ B)$ 的值,并输出。
说明/提示
## 限制条件
- 输入均为整数。
- $0 \leq A \leq B \leq 10^{12}$
## 样例解释 1
$2,\ 3,\ 4$ 的二进制分别为 `010`、`011`、`100`。它们的按位异或和为 `101`,转换为十进制为 $5$。
由 ChatGPT 4.1 翻译