• 16进制转10进制


    #include "stdio.h"
    #define N 50
    long fun(char *s)
    {
        int i,t;
        long sum=0;
        for(i=0;s[i];i++)
        {
        if(s[i]>='0'&&s[i]<='9')//当字符是'0'--'9'时,*-‘0'就行了
        t=s[i]-'0';
        if(s[i]>='a'&&s[i]<='z')
        t=s[i]-'a'+10;//当字符是 abcdef 时,*-‘a’+10 就行了
        if(s[i]>='A'&&s[i]<='Z')
        t=s[i]-'A'+10;//当字符是 ABCDEF 时,*-‘A’+10 就行了
        sum=sum*16+t; //每次循环一次进位16
        }
        return sum;
    }
    int main(void) //本题先定义一个数组来保存输入的数,数采用以字符串的方式输入,
    { //利用字符串与字符数组相结合的方式
        int m;
        char s[N];
        printf("Enter 16 进制的数:");
        scanf("%s",s);
        m=fun(s);
        printf("%ld",m);
    }
  • 相关阅读:
    计算机科学中最重要的32个算法
    趣事
    深度学习迷你地图
    物理学
    代数几何
    Node.js 文件系统
    Node.js 常用工具util包
    Node.js 全局对象
    favi.icon是什么?
    Node.js 路由
  • 原文地址:https://www.cnblogs.com/ranzhong/p/13702498.html
Copyright © 2020-2023  润新知