| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 475 人关注过本帖
标题:(2~32)任意十进制数据转换 [数组的一此基本应用, 刚体会的^_^]
只看楼主 加入收藏
feelerly
Rank: 1
来 自:GZ
等 级:新手上路
帖 子:17
专家分:0
注 册:2008-5-1
收藏
 问题点数:0 回复次数:0 
(2~32)任意十进制数据转换 [数组的一此基本应用, 刚体会的^_^]
以下是偶写的一段代码,用来转换十进制数据.
程序代码:
#include "stdio.h"
/*------------------------------------------------------------------------------------------

 *    任意进制转换(-32~+32)(六十四进制)

 *-----------------------------------------------------------------------------------------*/
const char thr[]={'T','0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','P','Q','R','S','T','U','V','W','X','Y','Z'};
const long ArrayInt( const long a, const int mode, long bin[] ) 
{
    int i=0,j=a>0?a:-a,p=a>0?1:-1;long arr=0;
    /*--------------------
    数组下标0,用来记录符号
    --------------------*/
    bin[0]=p;
    /*--------------------
    进制转换,并保存在数组中
    --------------------*/
    while(j)
    {
        i++;
        bin[i]=j%mode;
        j=j/mode;
    }
    arr=i;
    /*--------------------
    以下是打印输出的结果
    --------------------*/
    if(bin[0]==-1) printf("-");
    for(;i>=1;i--)
    {
        printf("%c",thr[bin[i]+1]);
    }
    /*--------------------
    传回数组的最大下标值
    --------------------*/
    return arr;

}
int main(void)
{
    /*声明一个缓存数组*/
    long bin[1000]={0};
    int i=0,mode=1,value=0;
    printf("Please enter a integer value: ");
    scanf("%d",&value);
    while( mode <= 1)
    {
        printf("\nPlease seclect convert mode(2~32): ");
            scanf("%d",&mode);
        if(mode <=1) printf("\nConvert Mode is false!");
    }
    i=ArrayInt(value,16,bin);

    if(bin[0]==-1) printf("\n-");
    for(;i>=1;i--)
    {
        printf("%c",thr[bin[i]+1]);
    }
    return 0;
}


总结:
    学到数组时,就有些疑惑了,一直在学习数组的一些用法,比如常见的矩阵,字符逆向输入等等. 不过在看了某个大哥的"数组分解整数"的概念后, 就有些眉目了. 数组的用法, 也体会得更深一些. 我写的代码中, 就采用了使用数组来分解整数, 这样就可以实现高位整数的输入, 非常实用.
搜索更多相关主题的帖子: 刚体 十进制 数据 应用 
2008-05-18 08:18
快速回复:(2~32)任意十进制数据转换 [数组的一此基本应用, 刚体会的^_^]
数据加载中...
 
   



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

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