| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 692 人关注过本帖
标题:分享自己写的16进制到10进制的两种方法(已验证)
只看楼主 加入收藏
wlhdhn
Rank: 1
等 级:新手上路
帖 子:58
专家分:0
注 册:2009-11-18
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:1 
分享自己写的16进制到10进制的两种方法(已验证)
法一:
#include<stdio.h>
#include<math.h>
void main()
{unsigned n,k,m=0;int i;
scanf("%x",&n);
printf("%x,%d\n",n,n);
for(i=0;i<16;i++)
{k=n&(1<<i);
m+=k;}
printf("%d\n",m);
}
法二
#include<stdio.h>
#include<string.h>
#include<ctype.h>
void main()
{int i,n=0,m;char s[20];
printf("input 16 jinzhi\n");
scanf("%s",s);
for(i=0;i<strlen(s);i++)
{if(isalpha(s[i]))
    m=tolower(s[i]);
switch(m)
{case 'a':m=10;break;
case 'b':m=11;break;
case 'c':m=12;break;
case 'd':m=13;break;
case 'e':m=14;break;
case 'f':m=15;break;
default :m=s[i]-'0';
}
n=n*16+m;
}
printf("(%s)16=(%d)10",s,n);
}
搜索更多相关主题的帖子: 分享 验证 进制 
2010-01-18 19:53
无诲今生
Rank: 8Rank: 8
来 自:桂林理工大学
等 级:蝙蝠侠
威 望:2
帖 子:373
专家分:726
注 册:2009-5-11
收藏
得分:20 
第一种方法不错,但是如果只要求输入一个16进制,输出一个10进制,这样就简单了
#include<stdio.h>
void main()
{
    int i;
    scanf("%x",&i);
    printf("%d\n",i);
}
直接这样就行了

顺境逆境切莫止境,得意失意切莫在意。
2010-01-19 03:04
快速回复:分享自己写的16进制到10进制的两种方法(已验证)
数据加载中...
 
   



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

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