| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1001 人关注过本帖
标题:本人写的1——16 任意进制的转换
只看楼主 加入收藏
呜呼哀哉
该用户已被删除
收藏
 问题点数:0 回复次数:8 
本人写的1——16 任意进制的转换
提示: 作者被禁止或删除 内容自动屏蔽
搜索更多相关主题的帖子: 进制 
2010-04-28 18:21
呜呼哀哉
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-04-28 18:23
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:0 
给你个新的思路
如果是要进行任意的进制  就要考虑到有字符  所以进栈的元素应该字符型为最优选

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

#define MAXS 8//
#define ADD  8//

typedef struct
{
    char *base;
    char *top;
    int stacksize;
}Sqstack;

void InitStack( Sqstack &s)
{
    s.base = (char *) malloc (MAXS*sizeof(char));
    if( !s.base )
        exit(0);
    s.top = s.base;
    s.stacksize = MAXS;
}

void Push( Sqstack &s, char temp )
{
    if( s.top-s.base>=MAXS )
    {
        s.base =(char *) realloc (s.base, (MAXS+ADD)*sizeof(char));
        if( !s.base )
            exit(0);
        s.top = s.base + s.stacksize;
        s.stacksize += ADD;
    }
    *s.top++ = temp;
}

void Pop( Sqstack &s, char &temp )
{
    if( s.top==s.base )
        return;
    temp = *--s.top;
}

int main()
{
    Sqstack s;
    InitStack(s);
    char c;
    int n, exchange;
    int temp;

    printf("input the number:");
    scanf("%d", &n);
    printf("input the number you exchange scale:");
    scanf("%d", &exchange);
    while( n )
    {
        temp= n%exchange;
        if( temp>=10 )
            Push( s, 'A'+temp-10 );
        else
            Push( s, 48+temp );

        n = n/exchange;
    }
    while( s.base != s.top )
    {
        Pop( s, c );
        printf("%c",c);
    }
    printf("\n");

    return 0;
}
图片附件: 游客没有浏览图片的权限,请 登录注册
17进制数
2010-04-29 10:41
zgwzxc
Rank: 2
等 级:论坛游民
帖 子:31
专家分:46
注 册:2010-4-7
收藏
得分:0 
如果转换17那个地方换成一个字母了
输出结果是什么意思???
2010-04-29 12:43
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:0 
17 进制里面的16就是G
  相当于 16 进制里15 就是F
2010-04-29 14:30
呜呼哀哉
该用户已被删除
收藏
得分:0 
回复 5楼 寒风中的细雨
提示: 作者被禁止或删除 内容自动屏蔽
2010-04-30 22:09
呜呼哀哉
该用户已被删除
收藏
得分:0 
回复 3楼 寒风中的细雨
提示: 作者被禁止或删除 内容自动屏蔽
2010-04-30 22:16
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:0 
按照 1 2 3 4 5 6 7 8 9 A B C D E F G.......
这样编码   应该是没有问题   
 但是到后面 数字太大的时候   就不行ASCII吗 就那么多 也没有什么意思
知道思路 就可以
2010-05-01 00:04
linshijin
Rank: 2
来 自:厦门
等 级:论坛游民
帖 子:40
专家分:24
注 册:2010-12-8
收藏
得分:0 
很不错的

情不知所起,一往情深
2010-12-08 17:21
快速回复:本人写的1——16 任意进制的转换
数据加载中...
 
   



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

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