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 翻译