c语言2进制转换
⑴ 用c语言怎么写 实现2进制转成10进制
按照楼主的意思,应该是2机制格式表示的字符串,转成10进制格式的字符串
(否则,都是数值的话,不需要转。把它看成2进制或10进制,都可以)
所以,该功能分两部分
1,把2进制表示的字符串,转换成数值
2,把数值转换成10进制表示的字符串
⑵ 如何用c语言编写二进制和十进制之间的转换
二进制转十进制
n
为输入的二进制数,d用来处理该数。
k为标志位,当k为1时表示输入的数有问题,需要重新输入。
i为每次分解的个位数;j为二进制的权值;m为累计的十进制和;p为输入的数的位数,超过10时,该数越界,需要重新输入,定k=1。
程序如下:
#include
<conio.h>
main()
{
long
int
n,d;
int
k,i,j,m,p;
do
{
k=0;
m=0;j=1;i=0;p=0;
printf("\ninput
an
number
only
includes
0
or
1:");
scanf("%ld",&n);
if(n<0)
k=1;
d=n;
while(d)
{
i=d%10;p++;
if(i>1
||
p>10)
{k=1;break;}
m+=i*j;
j=j*2;
d/=10;
}
}
while(k==1
||
m==0);
printf("\n
the
number
is
%d\n",m);
getch();
}
⑶ c语言把二进制数转换成十进制数的程序怎么写。
需要准备的材料分别有:电脑、C语言编译器。
1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。
⑷ 关于C语言二进制转换
你先输出最高位 再把最高位置0
i = num >>31;
num &= ~(1 << 31);
⑸ C语言中十进制和二进制怎么转换
#include
#include
#include
using namespace std;
string zhuanhuan(int num,int base)
{
string digitChar="0123456789" ,numStr= "";
stackstk;
do{
stk.push(digitChar[num%base]);
num /= base;
}while(num!=0);
while(!stk.empty())
{
numStr += stk.top();
stk.pop();
}
return numStr;
}
int main()
{
int m , n;
cout<< "请输入要转换的数字:" ;
cin >> m;
cout<< "请输入要转换的进制:";
cin >> n;
cout << "将"<< m << "转换成" << n << "进制后为:" ;
cout << zhuanhuan(m,n) << endl;;
system("pause");
return 0;
}
以上代码能实现任意进制之间的转换!希望对你有帮助!!