当前位置: 代码迷 >> C语言 >> 一个简单题目 但你不一定会...呦....
  详细解决方案

一个简单题目 但你不一定会...呦....

热度:170   发布时间:2007-01-23 21:29:00.0
一个简单题目 但你不一定会...呦....
写个程序输出475的 2进制数
搜索更多相关的解决方案: 475  

----------------解决方案--------------------------------------------------------
晕   你知道一个十进制数怎么样转化为二进制的吗?哎,可以用循环的嘛!
~~~~~~~~~~
----------------解决方案--------------------------------------------------------
位操作问题
----------------解决方案--------------------------------------------------------
能具体些吗?

请问,用位操作怎么实现啊 ??????


----------------解决方案--------------------------------------------------------
用栈可以实现
----------------解决方案--------------------------------------------------------
自定义函数!!
----------------解决方案--------------------------------------------------------

还请各位写下来吧


----------------解决方案--------------------------------------------------------

整除+取余


----------------解决方案--------------------------------------------------------
以下是引用喜C在2007-1-24 12:42:00的发言:

还请各位写下来吧

#include <stdio.h>
#include <limits.h>
#include <memory.h>

void uintToBin(unsigned int num, char *pArray)
{
unsigned int bit = ~(UINT_MAX >> 1);
while (!(num & bit))
bit >>= 1;
while (bit) {
*pArray++ = num & bit ? '1' : '0';
bit >>= 1;
}
}

void uintToBinAll(unsigned int num, char *pArray)
{
unsigned int bit = ~(UINT_MAX >> 1);
while (bit) {
*pArray++ = num & bit ? '1' : '0';
bit >>= 1;
}
}

#define BUFSIZE (sizeof(unsigned int)*8 + 1)
int main()
{
char buf[BUFSIZE];

memset(buf, 0, BUFSIZE);
uintToBin(475, buf);
printf("%s\n", buf);

memset(buf, 0, BUFSIZE);
uintToBinAll(475, buf);
printf("%s\n", buf);

return 0;
}

写了一个位操作的


----------------解决方案--------------------------------------------------------

#include <stdio.h>

void main()
{
int n,m;

printf("Enter the number: ");
scanf("%d",&n);

while (n!=0)
{
m=n%2;
printf("%d",m);
n=n/2;
}
printf("\n");
}
这是我用循环做的.不过结果要反过来读.
谁能帮我修正一下.


----------------解决方案--------------------------------------------------------
  相关解决方案