C++自主学习日志12
十进制转二进制
在C++中,可以使用以下方法将十进制数转换为二进制数:
使用位运算和移位操作:定义一个空字符串(或字符数组)来存储二进制数。使用循环从最高位开始,依次将十进制数的每一位转换为二进制数。在每次循环中,使用位运算和移位操作来获取当前位的值(0或1),并将其添加到二进制字符串中。循环结束后,将二进制字符串逆序输出,即可得到对应的二进制数。
下面是一个示例代码,演示了如何将十进制数转换为二进制数:
#include <iostream>
#include <string>
using namespace std;
string D(int d)
{
if(d==0)
{return "0";}
string b="";
while(d!=0)
{
b=(d%2==0?"0":"1")+b;
d/=2;
}
return b;
}
int main()
{
int d;
cin>>d;
string r=D(abs(d));
if(d<0)
{r="-"+r;}
cout<<r<<"B"<<endl;
return 0;
}