2 条题解
-
0
bitset方法:
#include <bits/stdc++.h> using namespace std; /* 题意: 输入一个 int 类型整数,输出它的 32 位二进制补码表示。 比如输入 7,输出 00000000000000000000000000000111。 解法思路: - C++ 中 int 通常为 32 位有符号整数。 - 直接将它转为 unsigned 类型,再用 bitset<32> 存储即可。 这样负数也能自动显示出补码形式(因为位级别不变)。 - 输出 bitset 即可得到补码的 0/1 字符串。 */ int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int x; if (!(cin >> x)) return 0; // 将有符号 int 转为无符号整数,确保按补码解释 unsigned int u = static_cast<unsigned int>(x); // bitset<32> 自动以二进制形式存储 bitset<32> bits(u); cout << bits.to_string() << "\n"; return 0; }
- 1
信息
- ID
- 186
- 时间
- 1000ms
- 内存
- 64MiB
- 难度
- 2
- 标签
- 递交数
- 31
- 已通过
- 23
- 上传者