| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1285 人关注过本帖
标题:[原创]任意进制数的转换!
只看楼主 加入收藏
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
结帖率:85.71%
收藏
 问题点数:0 回复次数:0 
[原创]任意进制数的转换!
程序代码:
/*任意进制间的转换*/
#include<iostream>
void convert(char* num, int x, int y,char *num2)
{
    __int64 n;int i;
    char a[16];char *p=a;
    n=(*num>='A'?*num-'A'+10:*num-'0');num++;
    while (*num)
    {
        n=n*x+(*num>='A'?*num-'A'+10:*num-'0');
        num++;
    }
    for (;n>y ; )
    {
        i=n%y;
        *p++=(i<10?'0'+i:'A'+i-10);
        n=n/y;
    }
    *p=(n<10?'0'+n:'A'+n-10);
    while (p>=a)
    {
        *num2++=*p--;
    }
    *num2='\0';
    return ;
}
int main()
{
    char s[16];convert("AB",16,17,s); //将十六进制值“AB”转换成十七进制数(存放于S中)
    printf("%s\n",s);
    return 0;
}


[ 本帖最后由 cnfarer 于 2010-5-2 14:49 编辑 ]
搜索更多相关主题的帖子: 进制 
2010-02-26 22:30
快速回复:[原创]任意进制数的转换!
数据加载中...
 
   



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

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