题解 1192: 十->二进制转换

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

一个基于C++内置bitset的解法

对于这道题,首先如果读者C++的知识基础比较好,那么我们可以知道C++有个bitset可以直接将对应的十进制整数转为二进制并限定位数。由于题目中整数范围为2的16次方,故可设位数为17位,即bitset(),信誓旦旦地写上,啪的一片红QAQ。

1192: 十->二进制转换

```cpp#include#includeusingnamespacestd;//进制转换并输出函数不考虑特殊情况voidtransport(intx){x=abs(x);vectorv;vector::iteratorit;while(x!=0){it=v.begin();v.insert(it,

位运算是个简便方法

摘要:参考代码:#include<bits/stdc++.h> using namespace std; int wei(int n) { int cnt=0; while(n!=0) {……
优质题解

1192: 十->二进制转换(位运算做法)

解题思路:看了一些题解,都是将数字转成二进制放入数组中,或者栈里面,我认为这道题用位运算来做是最简洁最舒服的,也不用开辟额外数组。我们知道,数字在计算机的内部都是使用二进制进行存储的,严格来说,存储的是二进制补码,当然正数的二进制补码就是它的二进制原码。

有注释 简单易懂 STL stack

```cpp#include#include#includeusingnamespacestd;stacks;intmain(){//stack先进后出intflag=0;//用来标记输入的n是否小于0,小于0的话就要输出"-"号intn;while(scanf("%d",

十进制转二进制

摘要:解题思路:注意事项:参考代码:#include<iostream>using namespace std;#include<stack>stack<char> s;int main(){    int……

1192: 十->二进制转换

```cpp#include#includeusingnamespacestd;intn,flag=0;vectorarr;voidBinaryChange(intn){for(inti=31;i>=0;i--)arr.push_back((n>>i)&1);return;}intmain(){whi

十->二进制转换常规算法

摘要:解题思路:注意事项:参考代码:#include<bits/stdc++.h>using namespace std;int main(){int pa;while(cin>>pa){  //如何判断输……