codeforces 484A bits

标签: 二进制

添加链接描述
在这里插入图片描述
bitmasks
太强了太强了太强了,二进制收下我的膝盖!

#include<bits/stdc++.h>
using namespace std;
int main()
{
	
	int t;
	cin >> t;
	while (t--) {
		long long a, b, k;
		cin >> a >> b;
		k = a;
		for (int i = 0; i < 64; i++) {
			a |= 1ll<< i;				//把a的第 i 位(从右数起bai) 置1     相当于 a= a | (1ll<<i);					
			if (a > b)					//								|= &= 和+= -= 一样,运算一样
				break;
			
			else if (a > k)
				k = a;
				
		}
		cout << k << "\n";
	}
/*
	long long a;
	a = 1LL << 60;					//注意:这里LL 或者 ll 都是把int转化成long long, 只能写LL 或ll,而且位置必须固定在这里
	cout << a << "\n";
	*/
	return 0;
}


版权声明:本文为czyhbo原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/czyhbo/article/details/107761239