TouchStone
  请登录后使用
登录 注册
 系统首页  练习题库  考试列表  判题结果  问题讨论与解答  统计信息与排名
  • 首页
  • 题库
  • P3671
  • 题目
  • P3671最大异或
    限制 : 时间限制 : 10000 MS   空间限制 : 65536 KB
    问题描述

    一个小女孩非常喜欢关于二进制位的问题,下面是其中一个问题: 
    给你两个整数L和R,找出a xor b结果值最大的一对,(L ≤ a ≤ b ≤ R) 
    xor表示异或,在c++里的运算符是"^"

    输入格式

    两个空格间隔的整数L和R (1<=L<=R<=1018)

    输出格式

    一个整数,表示最大的异或的结果

    样例输入 1

    8 16

    样例输出 1

    31

    样例输入 2

    1 2

    样例输出 2

    3

    提示

    注意:一般情况下我们只在32位数字范围内进行位运算 
    如果要在64位也就是long long范围内做位运算,参与运算的必须是long long类型,比如把1左移60位,我们应写成“1LL<<60”