C语言:其他进制数转换为十进制(方法一)
#include<stdio.h>
#include<math.h>
#include<string.h>
//其他任意进制转换为十进制
int main()
{
int trans(char a[],int );
char strupr(char );
char arr[100];
int t;
printf("请输入进制的类型:");
scanf("%d",&t);
printf("请输入该进制的数:");
scanf("%s",arr);
int num = trans(arr,t);
printf("该数的十进制是:%d\n",num);
return 0;
}
char strupr(char ch)//小写字母转换为大写字母
{
if(ch>='a' && ch<='z')
{
ch = ch - 32;
}
printf("%c",ch);
return ch;
}
int trans(char chs[],int m)//转换为十进制
{
char *p = chs;
int len = strlen(p);
int temp,sum=0;
while(len>0)
{
char ss = strupr(*p);
if(ss>='0' && ss<='9')
{
temp = (ss-'0')*pow(m,len-1);//m表示进制类型(2、8、16)
sum = sum + temp;
}
if(ss>='A' && ss<='F')
{
temp = (ss-'A'+10)*pow(m,len-1);
sum = sum + temp;
}
p++;
len--;
}
printf("\n");
return sum;
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 上周热点回顾(1.20-1.26)
· 【译】.NET 升级助手现在支持升级到集中式包管理