哪位大哥给个C++二进制转十进制的程序....
2个回答
展开全部
这个行!能运行,要输入正确二进制数:
#include <iostream>
#include <cmath>
using namespace std;
void main ()
{ int a,b=0,m,k=0;
cout<<"请输入一个二进制数:";
cin>>a;
while(a!=0)
{ m=a%10;
a=a/10;
b+=m*pow(2,k++);
}
cout<<"对应十进制为: ";
cout<<b<<endl;
}
#include <iostream>
#include <cmath>
using namespace std;
void main ()
{ int a,b=0,m,k=0;
cout<<"请输入一个二进制数:";
cin>>a;
while(a!=0)
{ m=a%10;
a=a/10;
b+=m*pow(2,k++);
}
cout<<"对应十进制为: ";
cout<<b<<endl;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个之前我也写过,全部用的是基本语法,不过后来重新我以前写的代码的时候把它删掉了。因为C++的STL库里面提供了很好的数据结构来实现这个功能,自己再去写容易出错。
这个类型就是bitset (include <bitset>).
比如: std::bitset<32> bit //定义一个32位bitset类型
从二进制转化为十进制只需先把二进制数据存入一个字符串,然后用它来初始一个bitset.
std::string bit = "11011001"; //包含<string>头文件
bitset<32> bit(bit);
cout << bit ; //输出到控制台
从十进制到二进制:
unsigned long number = 132;
bitset<32> bit(number);
cout << bit; //输出132的二进制形式到控制台
这个类型就是bitset (include <bitset>).
比如: std::bitset<32> bit //定义一个32位bitset类型
从二进制转化为十进制只需先把二进制数据存入一个字符串,然后用它来初始一个bitset.
std::string bit = "11011001"; //包含<string>头文件
bitset<32> bit(bit);
cout << bit ; //输出到控制台
从十进制到二进制:
unsigned long number = 132;
bitset<32> bit(number);
cout << bit; //输出132的二进制形式到控制台
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询