| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4523 人关注过本帖, 1 人收藏
标题:求2进制10进制16进制之间互换的C语言代码
取消只看楼主 加入收藏
monk02698
Rank: 1
等 级:新手上路
帖 子:13
专家分:7
注 册:2010-5-31
结帖率:0
收藏(1)
已结贴  问题点数:20 回复次数:2 
求2进制10进制16进制之间互换的C语言代码
要求:首先要给出三个选择,1:表示输入的是2进制,2:表示输入的是10进制,3:表示输入的是16进制的数;
输完之后,敲回车输出其它的两个进制。
其中在输入的时候如果输入格式不对要有提示重新输入。
搜索更多相关主题的帖子: 代码 C语言 进制 
2010-06-03 22:17
monk02698
Rank: 1
等 级:新手上路
帖 子:13
专家分:7
注 册:2010-5-31
收藏
得分:0 
这里有一个
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
typedef unsigned int uint;
typedef unsigned short ushort;
typedef unsigned char uchar;
typedef unsigned long long ullong;
typedef uchar boolean;
#define TRUE 1
#define FALSE 0
char *DecToBin(uint dec){
    int i=0;
    char *str=NULL;
    boolean start=FALSE;
    uchar bit_size=0;
    boolean b;
    for(i=sizeof(uint)*8-1;i>=0;i--){
        b=(dec>>i)&1;
        if(start){
            str[bit_size-i-1]=b?'1':'0';
        }else if(b){
                start=TRUE;
                bit_size=i+1;
        printf("bit_size:%u\n",bit_size);
                str=(char *)malloc(bit_size+1);
                str[bit_size-i-1]=(b)?'1':'0';
        }
    }

    if(!start){
        bit_size=1;
        str=(char *)malloc(bit_size+1);
        str[0]='0';
    }
    str[bit_size]='\0';



    return str;
}
int main()
{
    uint i;
    char *str;
    for(i=0;i<100;i++)
    {
        str=DecToBin(i);
        printf("%u => %s\n",i,str);
        free(str);
    }
}
只是转换为2进制的
2010-06-04 00:02
monk02698
Rank: 1
等 级:新手上路
帖 子:13
专家分:7
注 册:2010-5-31
收藏
得分:0 
太感动了,谢谢楼上的
2010-06-11 19:29
快速回复:求2进制10进制16进制之间互换的C语言代码
数据加载中...
 
   



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

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