|
发表于 2023-8-29 18:41:16
|
显示全部楼层
本帖最后由 柿子饼同学 于 2023-8-29 18:44 编辑
整数是用 二进制 存储的 , 找出最后一位 , 可以用位运算
num & 1 的意思就是取出最后一位 , 下面是一个例子
00100010010101 --> num
00000000000001 --> 1
&
______________________
00000000000001
可以发现最后 & 1 的结果和这个数最后一位有关
如果这个数最后一位是 1 , 那& 1 后结果就是 1
反之为 0
- #include <bits/stdc++.h>
- using namespace std;
- long long num;
- int main(){
- ios::sync_with_stdio(0);
- cin.tie(0);
-
- freopen("INPUT.txt", "r", stdin);
- freopen("OUTPUT.txt", "w", stdout);
- for(int i = 1; i <= 1000000; i++){
- cin >> num;
- cout << (num & 1);
- }
-
- return 0;
- }
复制代码 |
|