c++编程序将2进制数转为10进制数

如题所述

#include"stdio.h"
void
main()
{
int
bin[8];
int
dec;
printf("请输入8位二进制码,用逗号隔开,不够8为的在前面补0\n");
scanf("%d,%d,%d,%d,%d,%d,%d,%d",&bin[0],&bin[1],&bin[2],&bin[3],&bin[4],&bin[5],&bin[6],&bin[7]);
dec=a[0]*binx(7)+a[1]*binx(6)+a[2]*binx(5)+a[3]*binx(4)+a[4]*binx(3)+a[5]*binx(2)+a[6]*binx(1)+a[7]*binx(0);
printf("%d%d%d%d%d%d%d%d的十进制为:%d\n",bin[0],bin[1],bin[2],bin[3],bin[4],bin[5],bin[6],bin[7],dec);
}
int
binx(int
x)
{
int
ss=1;
for(int
i=0;i<x;i++)
ss=ss*2;
return
ss;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-12-27
10进制到2,8,16进制
#include
<stdio.h>
char
dig[17]
=
{"0123456789ABCDEF"};
void
change(int
number,int
base)
{
if
(number
==
0)
{
printf("0\n");
return
;
}
int
ans[10];
int
len
=
0;
while
(number)
{
ans[len
++]
=
number
%
base;
number
/=
base;
}
for
(int
i
=
len
-
1;
i
>=
0;
i
--)
{
printf("%c",dig[ans[i]]);
}
printf("\n");
return
;
}
int
main()
{
int
number,base;
printf("请输入一个数\n");
scanf("%d",&number);
printf("你要转换的进制数(2,8,16)\n");
scanf("%d",&base);
printf("转换后的数为\n");
change(number,base);
return
0;
}
希望能帮助你!

c++编程序将2进制数转为10进制数
printf("请输入一个数\\n");scanf("%d",&number);printf("你要转换的进制数(2,8,16)\\n");scanf("%d",&base);printf("转换后的数为\\n");change(number,base);return 0;} 希望能帮助你!

c++的二进制转十进制?
k++;\/\/权值递增 } return num_10;\/\/返回十进数 } \/ 101:2进制 按权展开 1*2^2+0*2^1+1*2^0 4+0+1==5 :10进制 \/ int main(){ string num_2;\/\/C\/C++没有二进制整数,所以用字符串表示二进制 cin>>num_2;\/\/输入2进制字符串 int num_10;num_10=toDecimal(num_2);\/\/返...

c++编写2进制变10进制程序
if(num\/power(10,i)%10!=0) \/\/取得该数位的数 break; \/\/取得实际位数 if(i==0){cout>>"ERROR";return 0;} for(;i>=0;i--){p=new char;p=num\/power(10,i)%10;\/\/得到该位数 if(*p==1)sum+=power(2,i);delete p;} cout<<sum;return 0;} 按照你的想法 ...

C++中二进制转化为十进制
sum+=pow(2*num%10,i);num\/=10;i++;} cout<<"sum="<<sum<<endl;}

C++编程的题目,将一个二进制数转化成一个十进制数,我这样写哪里错了...
第二个for循环里 s=s%(10^j)错了 因为你s没赋初值,直接用s的值可能会引起不可知的错误(或者编译器将s自动赋0,那你s就一直是0。修改的办法是:在第二个for循环前面加一句s=n;就行

一个简单的C++问题,输入一个8位二进制数,将其转换为十进制数输出。
开始定义的i是for循环中的循环节,作为判断条件使用;cin的操作在for循环中已经进行了8次了

c++ 二进制转十进制
其实,这里只提供了一部分,真正完全的二进制转十进制还要考虑第一位是"0"还是"1"以决定十进制是正是负。先给不考虑负数的二进制转十进制代码:include<stdio.h> include<stdlib.h> include<math.h> int binary_to_decimal(const char a[]){ int i=0,k=0,sum=0;while(a[i++]!='\\0')...

如何用C++将二进制转换十进制
include<iostream.h> void int2bin(int var){ if (var==1){ cout<<"1";}else{ int2bin(var\/2);cout<<var%2;} } void main(){ int a;cout<<"输入一个大于0的整数:";cin>>a;int2bin(a);}

c++ 关于二进制数字转换成十进制数
std;int main(){string n;int b = 0;unsigned int s;int a;cout << "2进数?";cin >> n;s = 0;for (int i = 0; i < n.size(); i++){s <<= 1;s |= n[i] - '0';}cout << "\\n";cout << "10进数に変换すると" << s << "です" << endl;} ...

C 语言编程 实现二进制转十进制
clrscr();其实这句没必要,c语言在程序开始是屏幕就是空的,不必清屏 这段代码是用位运算实现进制转换的,速度比模拟快的多,但对于初学者来说有难度 下面是我的代码c++语言 include<iostream> using namespace std;int cf(int a,int b)\/\/这是算乘方的函数,返回的结果为a的b次方 { int x=1;...

相似回答