首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

请问:如何把 10 进制数,转换为 2 进制字符串,多谢

2012-04-07 
请教:怎么把 10 进制数,转换为 2 进制字符串,谢谢!求助:我想把 10 进制数,转换为 2 进制字符串,比如:10 进

请教:怎么把 10 进制数,转换为 2 进制字符串,谢谢!
求助:

我想把 10 进制数,转换为 2 进制字符串,
比如:
10 进制4556
2 进制1000111001100

只能用程序写,不能用函数?

最还是 还是 递归 程序

谢谢!

[解决办法]
itoa()
[解决办法]
用不着递归

就是顺序判断每个bit,如果是1,结果字符串中就用0x31,如果是0,结果字符串中就用0x30

[解决办法]

探讨

只能用程序写,不能用函数?

最还是 还是 递归 程序


[解决办法]
C/C++ code
#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");
}

热点排行
Bad Request.