当前位置: 首页 > news >正文

C语言实现十六进制转十进制

代码

#include <stdio.h>
#include <string.h>
#include <ctype.h>

// 十六进制转十进制的函数
int hexToDec(const char* hex) {
    int len = strlen(hex);
    int decimal = 0;
    int base = 1;

    // 从十六进制字符串的最后一位开始处理
    for (int i = len - 1; i >= 0; i--) {
        char digit = hex[i];
        int value;

        // 如果是数字字符(0 - 9)
        if (isdigit(digit)) {
            value = digit - '0';
        }
        // 如果是大写字母字符(A - F)
        else if (isupper(digit)) {
            value = digit - 'A' + 10;
        }
        // 如果是小写字母字符(a - f)
        else if (islower(digit)) {
            value = digit - 'a' + 10;
        }
        else {
            // 遇到非十六进制字符,返回错误值
            return -1;
        }

        // 累加当前位的值
        decimal += value * base;
        // 更新基数
        base *= 16;
    }

    return decimal;
}

int main() {
    const char* hex = "19";
    int decimal = hexToDec(hex);

    if (decimal == -1) 
    {
        printf("输入的不是有效的十六进制字符串。\n");
    }
    else {
        printf("十六进制 %s 转换为十进制是 %d。\n", hex, decimal);
    }

    return 0;
}

实现效果:

相关文章:

  • 谷歌 DeepMind 重磅出击,多款 AI 模型震撼登场
  • 【A2DP】蓝牙音频编解码器互操作性要求详解
  • keepalived系列-自启动配置无效
  • Celery - 入门(get-started)
  • DeepSeek选择方向的优势
  • 阿里巴巴发布 R1-Omni:首个基于 RLVR 的全模态大语言模型,用于情感识别
  • 【数据结构】单链表-c语言
  • vue中,watch里,this为undefined的两种解决办法
  • 哨兵2号遥感影像解析全流程:步骤、算法与AI应用详解
  • 【好书推荐-第一期】《一书读懂物联网:基础知识+运行机制+工程实现》
  • 批量给 Excel 添加或删除密码保护|Excel 批量设置打开密码和只读密码
  • 文档解析:PDF、图片内容deepseek解析出错怎么办?
  • AI时代,GIS的出路:地理智慧的智能化革命
  • Java对接微信支付全过程详解
  • MySQL慢SQL优化方案详解:从诊断到根治的完整指南
  • 实验四 Python聚类决策树训练与预测 基于神经网络的MNIST手写体识别
  • BUUCTF Pwn [ZJCTF 2019]EasyHeap unlink+freehook做法
  • 《Python实战进阶》第21集:数据存储:Redis 与 MongoDB 的使用场景
  • 高频面试题(含笔试高频算法整理)基本总结回顾32
  • 【redis】list类型:基本命令(下)
  • 泊头公司做网站/媒体软文推广平台
  • 活动策划案模板/宁波seo网络推广公司排名
  • 网站建设后端/武汉网站排名提升
  • 驻马店阿里巴巴做网站/推荐6个免费国外自媒体平台
  • 杭州的服装网站建设/建站企业网站
  • 企业文化宣传册模板/盛大游戏优化大师