c++编程输入一个8进制数,将其转换为10进制数,在线等答案
答案:5 悬赏:10
解决时间 2021-02-07 21:03
- 提问者网友:说不出醉人情话
- 2021-02-07 17:08
c++编程输入一个8进制数,将其转换为10进制数,在线等答案
最佳答案
- 二级知识专家网友:留下所有热言
- 2021-02-07 17:28
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
cout <<"请输出一个8位二进制数:" <<endl;
//int a;
const int size=8;
char array[size];
for(int role=size-1;role>=0;role--)
cin>>array[role];
int number=0;
for(int counter=size-1;counter>=0;counter--)
{
//a=array[counter]-'0';//数字字符转换为数字
//number+=pow(2,counter)*a;
number+=pow((double)2,(double)counter)*(static_cast <int>(array[counter]));//error
}
cout <<"转换后的10进制数为:" <<number <<endl;
}
#include <cmath>
using namespace std;
int main()
{
cout <<"请输出一个8位二进制数:" <<endl;
//int a;
const int size=8;
char array[size];
for(int role=size-1;role>=0;role--)
cin>>array[role];
int number=0;
for(int counter=size-1;counter>=0;counter--)
{
//a=array[counter]-'0';//数字字符转换为数字
//number+=pow(2,counter)*a;
number+=pow((double)2,(double)counter)*(static_cast <int>(array[counter]));//error
}
cout <<"转换后的10进制数为:" <<number <<endl;
}
全部回答
- 1楼网友:陪衬角色
- 2021-02-07 21:29
还在等么。。。。
- 2楼网友:一身浪痞味
- 2021-02-07 20:18
data10 = (data[0]-'0')*8 + (data[1]-'0');
- 3楼网友:伤口狠精致
- 2021-02-07 18:42
for(i=0;i<4;i++)
{
d=1;
for(short j=1;j!=i+1;j++)
{
d*=8;
}
data10+=(data8[i]-'0')*d;
}
- 4楼网友:苦柚恕我颓废
- 2021-02-07 17:51
d = strlen(&data8[0]);
for(i = 0; i < d; i++)
{
if ((data8[i] - '0') < 8)
{
data10 += ((data8[i] - '0') * ((unsigned int)(pow(8.0, (double)(d - i - 1)))));
}
else
{
printf("ERROR!!!!\n");
return 1;
}
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯