| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 949 人关注过本帖
标题:二进制转换任意进制,有点问题 求助
只看楼主 加入收藏
a15022606145
Rank: 1
等 级:新手上路
帖 子:75
专家分:0
注 册:2015-7-11
收藏
 问题点数:0 回复次数:2 
二进制转换任意进制,有点问题 求助
程序代码:
#include<stdio.h>
#include<string.h>

int two_to_ten(char *p,int n)
{
    int sum = 0;
    for(int i = 0;i<n;i++)
    {
        sum *= 2 ;
        sum += p[i] - '0';
    }
    return sum;
}


void ten_to_any(int n, int change,char * buf)
{
    char bbq[128] = {0};
    int count =0 ;
    while(1)
    {
        bbq[count] = n % change ;
        count++;
        n=n/change;
        
        if(bbq[count] >= 0 && bbq[count] <= 9)
        {
            bbq[count] = bbq[count] +'0';
        }
        else 
            bbq[count] = bbq[count] + 'A'-10;
        if(n==0) break;
    }
    for(int i =0;i<count;i++)
        buf[i]=bbq[count-i-1];
}

int main()
{
    char buf[128]={0};
    printf("Please input a two_:\n");
    gets(buf);
    int n = two_to_ten(buf,strlen(buf));    
    printf("转换的十进制为%d\n",n);

    char buf1[128] = {0};
    int x = 0;
    printf("请输入要转换的进制:\n");
    scanf("%d",&x);
    ten_to_any(n,x,buf1);
    puts(buf1);


    return 0;
}



这是代码 二进制先转换成10进制 10进制在求余数 取反,  十转任意会出现乱码, 求解?
搜索更多相关主题的帖子: 进制 转换 int char count 
2018-08-21 16:02
zhangchm2018
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:32
专家分:129
注 册:2018-8-18
收藏
得分:0 
void ten_to_any(int n, int change,char * buf)
{
    char bbq[128] = {0};
    int count =0 ;
    while(1)
    {
        bbq[count] = n % change ;
        //count++; 改变数组索引,bbq[count]不再是当前计算的余数,此处应删除
        n=n/change;
        
        if(bbq[count] >= 0 && bbq[count] <= 9)
        {
            bbq[count] = bbq[count] +'0';
        }
        else
            bbq[count] = bbq[count] + 'A'-10;
        count++;
        if(n==0) break;
    }
2018-08-21 23:40
a15022606145
Rank: 1
等 级:新手上路
帖 子:75
专家分:0
注 册:2015-7-11
收藏
得分:0 
回复 2楼 zhangchm2018
懂啦 谢谢~
2018-08-22 11:22
快速回复:二进制转换任意进制,有点问题 求助
数据加载中...
 
   



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

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