十进制转二进制
#include<iostream>
#include<vector>
#include<algorithm>
#include<math.h>
using namespace std;
int main()
{
int n,b,sum=0;
cin>>n;
if(n<0)
cout<<"-";
else if(n==0)
cout<<0;
vector<int>a;
n=abs(n);
while(n>=1)
{
b=n%2;
a.push_back(b);
n/=2;
sum++;
}
reverse(a.begin(),a.end());
for(int i=0;i<sum;i++)
{
cout<<a[i];
}
cout<<'B';
}
在main
函数内,首先定义了三个整型变量n
、b
和sum
,并将sum
初始化为 0。n
用于接收从标准输入读入的整数,b
用于临时存储取余运算的结果,sum
用于统计最终二进制表示的位数。
cin >> n
语句从标准输入(通常是控制台)读取一个整数赋值给n
。if-else if
语句对输入的n
进行判断:如果n小于 0,先输出一个负号"-",后续会处理其绝对值对应的二进制表示。如果n等于 0,直接输出 0,因为 0 的二进制表示就是 0,无需再进行后续转换操作。