| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1256 人关注过本帖
标题:十进制转换二进制如何输出?(有代码的)
只看楼主 加入收藏
zhanfffmmm
Rank: 5Rank: 5
等 级:职业侠客
帖 子:238
专家分:343
注 册:2009-10-16
结帖率:82.35%
收藏
已结贴  问题点数:20 回复次数:13 
十进制转换二进制如何输出?(有代码的)
    #include"string.h"
     #include"stdio.h"
     int transformToBin(int dnum,int *bin);
     main()
     {
       int n=8,s,j,a[100];
        s=transformToBin(n,a);
      for(______________________)
        printf("%d",  ______ );
        getch();
     }
      int transformToBin(int dnum,int *bin)
      {
         int i;
         for(i=0;dnum>0;i++)
         {
           *(bin+i)=dnum%2;
           dnum/=2;

         }
                for(j=i-1;j>=0;j--)

               return  *(bin+j);
      }
搜索更多相关主题的帖子: 二进制 十进制 代码 输出 
2010-04-17 20:03
zhanfffmmm
Rank: 5Rank: 5
等 级:职业侠客
帖 子:238
专家分:343
注 册:2009-10-16
收藏
得分:0 
晕,没有人能解吗
2010-04-17 20:25
刮目相看
Rank: 2
等 级:论坛游民
帖 子:25
专家分:30
注 册:2009-11-23
收藏
得分:2 
如果我做,就%2后压栈。。。。后进先出
2010-04-17 20:30
刮目相看
Rank: 2
等 级:论坛游民
帖 子:25
专家分:30
注 册:2009-11-23
收藏
得分:0 
pop(&stack,d%2);
d/=2;

循环做这个。然后就按顺序出栈就行了吧。
比如7
|0|
|1|
|1|
|1|

从上往下顺序读取。就是出栈的顺序。

2010-04-17 20:33
chichu
Rank: 2
来 自:安徽阜阳
等 级:论坛游民
帖 子:71
专家分:89
注 册:2010-4-14
收藏
得分:2 
定义全局变量A,用A记录二进制数的位数,使指针从后向前指,用A来做主函数的结束条件,行不行

有了目标才有动力!!!
2010-04-17 20:45
zhanfffmmm
Rank: 5Rank: 5
等 级:职业侠客
帖 子:238
专家分:343
注 册:2009-10-16
收藏
得分:0 
大家最好能编个代码运行下,让我好好想想
2010-04-17 21:11
明王朝
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:58
专家分:196
注 册:2009-11-3
收藏
得分:2 
#include <stdio.h>

int main(void)
{
    const char baseDigits[16] = {'0','1','2','3','4','5','6','7',
                                '8','9','A','B','C','D','E','F'};
    int convertedNumber[64];
    long int numberToConvert;
    int nextDigit, base, index = 0;

    // get the number and the base

    printf("Number to be converted?");
    scanf("%ld", &numberToConvert);
    printf("Base?");
    scanf("%i", &base);

    // convert to the indicated base

    do {
        convertedNumber[index] = numberToConvert % base;
        ++index;
        numberToConvert /= base;
        }while (numberToConvert != 0);

    // display the result in reverse order

    printf("Converted number = ");
     
    for (--index; index>=0; --index)
    {
        nextDigit = convertedNumber[index];
        printf("%c", baseDigits[nextDigit]);
    }

    printf("\n");
    return 0;
}
2010-04-17 22:39
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:2 
看看
#include <stdio.h>

int main()
{
    int a[16], b, i, j;
    int n, N;

    printf("输入一个十进制数:");
    scanf("%d", &n);
    printf("输入要转换成的进制N=");
    scanf("%d", &N);
    b=n;

    for( i=0; b!=0; )
    {
        a[i++]=b%N;
        b=b/N;
    }
    for( j=i-1; j>=0; j--)
        printf("%d",a[j]);
    printf("\n");
    return 0;
}
2010-04-18 01:25
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:0 
N 超过10的别输啦  没有处理
2010-04-18 01:29
zhanfffmmm
Rank: 5Rank: 5
等 级:职业侠客
帖 子:238
专家分:343
注 册:2009-10-16
收藏
得分:0 
晕,我要的是有参有返的。就是这样调用int transformToBin(int dnum,int *bin);如果能补充我的代码更好啊。下面是无参无返的: #include <stdio.h>

 main()
{
  int a,i,b[100],j;
  scanf("%d",&a);


  
  for(i=0;a>0;i++)
  {  b[i]=a%2;
    a/=2;

  }
  for( j=i-1;j>=0;j--)
    printf("%d",b[j]);
    getch();

}
2010-04-18 10:03
快速回复:十进制转换二进制如何输出?(有代码的)
数据加载中...
 
   



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

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