| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1397 人关注过本帖
标题:求助
只看楼主 加入收藏
readyforlove
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2008-3-5
收藏
 问题点数:0 回复次数:10 
求助
将十进制变为二进制,程序如下:
#include <stdio.h>
void main()
{
    int a,i,k;
    printf("please input a integer:\n");
    scanf("%d",&a);
    for(i=1;i<=512;i*=2)
    {
        k=a/i%2;
        printf("%d",k);
    }
    printf("\n");
}
输出顺序不对,请高手指点
搜索更多相关主题的帖子: include please 二进制 十进制 
2008-03-05 18:50
随心
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:12
帖 子:2577
专家分:250
注 册:2007-8-12
收藏
得分:0 
记得leeco用递归做过一个:
程序代码:
#include <stdio.h>
void out_binary(int n)
{
    if(!n)return;
    out_binary(n/2);
    putchar(n%2?'1':'0');
} 

int main()
{
    int n;
    while(scanf("%d",&n)!=EOF)
    {
        out_binary(n);
        putchar('\n');
    } 
}

天之道,利而不害。圣人之道,为而不争。信言不美,美言不信。善者不辩,辩者不善。知者不博,博者不知。
2008-03-05 19:12
随心
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:12
帖 子:2577
专家分:250
注 册:2007-8-12
收藏
得分:0 
LZ可以搜一下,坛子里这方面的帖子已经发过很多了。

天之道,利而不害。圣人之道,为而不争。信言不美,美言不信。善者不辩,辩者不善。知者不博,博者不知。
2008-03-05 19:13
VxWorks
Rank: 3Rank: 3
来 自:WindRiver
等 级:论坛游民
威 望:6
帖 子:859
专家分:68
注 册:2007-11-24
收藏
得分:0 
//将整数in转化为r进制数
#include <stdio.h>
void transform(int in,int r);
int main()
{
    int a;
    printf("please input a integer:\n");
    scanf("%d",&a);
    transform(a,2);        
    return 0;
}

void transform(int in,int r)
{
    
    if(!in)
    return;            
    transform(in/r,r);
        printf("%d",in % r);    //当r>9时要修改这里的输出形式
}

为了防止世界被破坏,为了守护世界的和平,贯彻爱与真实的邪恶,可爱又迷人的反派角色,VxWorks!
Don't ask me any question.I'm just here to buy soy sauce.
2008-03-05 19:27
xianshizhe111
Rank: 1
等 级:新手上路
帖 子:1451
专家分:0
注 册:2007-12-8
收藏
得分:0 
/*十 ,二 互换*/
#include "stdio.h"
int main(void)
{
    int a[20],num,value=0,i=0,k=0;
    /*输入一个十进制数*/
    scanf("%d",&num);
    /*十进制转二进制*/
    while(num)
    {
        value=num%2;
        a[k]=value;
        num=num/2;
        k++;
    }
    for(i=k-1;i>=0;i--)
       printf("%d ",a[i]);

    /*二进制转十进制*/
    value=0;
    for(i=0;i<k;i++)
        if(i==0)
           value=a[i];
        else
          value=value+a[i]*(2<<(i-1));

    printf("\n%d",value);
    return 0;
}
2008-03-05 19:29
readyforlove
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2008-3-5
收藏
得分:0 
对不起!我才学C一个星期,还没有学数组,有没有哪位高手可以用我现在在个水平把这个题做出来!
2008-03-05 22:53
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
#include <stdio.h>

/* 此程序适合 int 为 32 位的系统 */


int main(void)
{
    int a = 2048, error, i;

    error = (sizeof(int) != 4);
   
    while(i < 32 && !error)
    {
        printf("%d", ((a << i) & 0x80000000) ? 1 : 0 );
        if(i % 4 == 3)
            putchar(' ');
        i++;
    }
   
    getchar();
    return 0;
}


[[it] 本帖最后由 cosdos 于 2008-3-5 23:50 编辑 [/it]]

—>〉Sun〈<—
2008-03-05 23:48
xianshizhe111
Rank: 1
等 级:新手上路
帖 子:1451
专家分:0
注 册:2007-12-8
收藏
得分:0 
/*不用数组的  我看更麻烦*/
#include "stdio.h"
int main(void)
{
    int n,num,value=0,i=0,j;
    /*输入一个十进制数*/
    scanf("%d",&num);
    n=num;
    /*十进制转二进制*/
    while(n)
    {
      n=n/2;
      i++;
    }
    while(num)
    {
       value=num%2;
       for(j=1;j<i;j++)
           printf(" ");
       printf("%d",value);
       printf("\r");
       num=num/2;
       i--;
    }
    return 0;
}
2008-03-06 00:01
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
[bo]以下是引用 [un]xianshizhe111[/un] 在 2008-3-6 00:01 的发言:[/bo]

/*不用数组的  我看更麻烦*/
#include "stdio.h"
int main(void)
{
    int n,num,value=0,i=0,j;
    /*输入一个十进制数*/
    scanf("%d",&num);
    n=num;
    /*十进制转二进制*/
    while(n)
    {
      n=n/2;
      i++;
    }
    while(n ...



[bc07] 居然利用 '\r'
[bc07]

—>〉Sun〈<—
2008-03-06 00:14
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 


#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int num = 345;
    int wei = 32, i;
    printf("%032d", 0);
   
    while(num)
    {
        putchar('\r');
        for(i = 1; i < wei; i++)
            putchar('0');

        printf("%d", num % 2);
        num /= 2;
        wei--;
    }
    putchar('\n');
   
    system("Pause");
    return 0;
}


[[it] 本帖最后由 cosdos 于 2008-3-6 00:32 编辑 [/it]]

—>〉Sun〈<—
2008-03-06 00:29
快速回复:求助
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037243 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved