Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4611387
  • 博文数量: 385
  • 博客积分: 21208
  • 博客等级: 上将
  • 技术积分: 4393
  • 用 户 组: 普通用户
  • 注册时间: 2006-09-30 13:40
文章分类

全部博文(385)

文章存档

2015年(1)

2014年(3)

2012年(16)

2011年(42)

2010年(1)

2009年(2)

2008年(34)

2007年(188)

2006年(110)

分类: C/C++

2006-10-30 20:57:07

文件:convert.tar.gz
大小:0KB
下载:下载

#include <stdio.h>
#define base 2/*这里你可以转换任何进制的数,这里是2进制*/

int main()
{
        int n;
        char str[33];
        int i=0;
        int j=0;
        int k;
        char tmp;
        scanf("%d",&n);
        
        while(n)
        {
            str[i]=n%base;
            if (str[i]>9)
                    str[i]='A'+str[i]-10;
            else str[i]='0'+str[i];
               
            i++;
            n=n/base;
        }
        str[i]=0;
           
           //reverse the string

           k=i-1;
            while (j<k)
            {
                tmp=str[k];
                str[k]=str[j];
                str[j]=tmp;
                j++;
                k--;
            }
           
            printf("string is %s\n",str);
   
    return 0;
}

 





//10进制与8进制转换。



#include <stdio.h>

int main()
{
    int decNum;
    int i=0;
    char result[12];
    int middle=0x0007;
    int orgNum;
    scanf("%d",&decNum);
    
    orgNum=decNum;
    for (i=0; i<11; i++)
    {
        result[10-i]=(orgNum & middle) +'0';
         orgNum>>=3;
        
    }
    result[11]='\0';
    
    printf("result is %s\n",result);
    
    return 0;
}





//dec to 8,10, 16


#include <stdio.h>

int main()
{
    int dec;
    char str[33];
    scanf("%d", &dec);
    
    sprintf(str,"%x",dec); //dec to 16

    printf("dec to 16 ,str is :%s\n",str);
    
    sprintf(str,"%o",dec); //dec to 8

    printf("dec to 8,str is :%s\n",str);
    
    sprintf(str,"%u",dec); //dec to 10

    printf("dec to 10,str is :%s\n",str);
    
        
    return 0;

}

阅读(2710) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~