请教:怎么把 10 进制数,转换为 2 进制字符串,谢谢!
求助:
我想把 10 进制数,转换为 2 进制字符串,
比如:
10 进制4556
2 进制1000111001100
只能用程序写,不能用函数?
最还是 还是 递归 程序
谢谢!
[解决办法]
itoa()
[解决办法]
用不着递归
就是顺序判断每个bit,如果是1,结果字符串中就用0x31,如果是0,结果字符串中就用0x30
[解决办法]
#include <stdio.h>char bit[33];void inttobit(int n,int i){ if(i<0) return ; bit[i]=(n&1)+'0'; inttobit(n>>1,i-1);} int main(void){ inttobit(4556,32); puts(bit); getchar(); return 0;}
[解决办法]
char temp[32];
int ten;
int i;
……
……
i = 0;
while(ten)
{
temp[i] = ten%2;
ten = ten/2;
i++;
}
……
将temp数组从i倒序输出
[解决办法]
有一个函数是把十进制转换2进制的!!
[解决办法]
#include<stdio.h>
int main()
{
int a,i;
i=sizeof(int)*8;
for(scanf("%d",&a);i>0;i--,printf("%d",a>>i&1));
system("pause");
}