如题所述
#include <stdio.h>
int num[100];
int main()
{
int n,t=0,i;
scanf("%d",&n);
while(n)
{
num[t++] = (n & 1);
n >>= 1;
}
for(i=t-1;i>=0;i--)
printf("%d",num[i]);
puts("");
return 0;
}
int num[100];
int main()
{
int n,t=0,i;
scanf("%d",&n);
while(n)
{
num[t++] = (n & 1);
n >>= 1;
}
for(i=t-1;i>=0;i--)
printf("%d",num[i]);
puts("");
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2014-11-18
#include <stdio.h>
const char *dec2bin(int value)
{
static char res[65];
char *ptr = res + 64;
*ptr = 0;
while (value) {
*(--ptr) = (value & 0x01) + '0';
value >>= 1;
}
printf("%s\n", ptr);
return ptr;
}
int main()
{
dec2bin(10);
dec2bin(16);
dec2bin(9);
return 0;
}
const char *dec2bin(int value)
{
static char res[65];
char *ptr = res + 64;
*ptr = 0;
while (value) {
*(--ptr) = (value & 0x01) + '0';
value >>= 1;
}
printf("%s\n", ptr);
return ptr;
}
int main()
{
dec2bin(10);
dec2bin(16);
dec2bin(9);
return 0;
}
第2个回答 推荐于2017-09-22
#include <stdlib.h>
#include <stdio.h>
void main(void)
{
int number;
char string[25];
printf("请输入一个十进制数:");
scanf("%d",&number);
itoa(number, string, 2);
printf("二进制为%s\n", string);
}追问
#include <stdio.h>
void main(void)
{
int number;
char string[25];
printf("请输入一个十进制数:");
scanf("%d",&number);
itoa(number, string, 2);
printf("二进制为%s\n", string);
}追问
这是位运算吗?
追答不是,但是很方便
追问位运算怎么做啊?大神
本回答被提问者采纳