zoukankan      html  css  js  c++  java
  • C语言实现字符串中(10进制和16进制)转成十进制数

    怎样将字符串中的10进制数和16进制数提取出来。看下面代码:

    #include <stdio.h>
    typedef char TUINT8 ;
    typedef int  TUINT32;
    
    TUINT32 Read_DecNumber(const TUINT8* str);
    TUINT32 Read_HexNumber(const TUINT8* str); 
    
    int main(void)
    {
    	int ret = Read_DecNumber("1000");
    	int d = Read_HexNumber("A");
    	printf("将字符串中的数字转化为10进制数 :%d
    ",ret);
    	printf("将字符串中的16进制数转化为10进制数 :%d
    ",d);
    	return 0 ;
    }
    //将字符串中的数字转化为10进制数 
    TUINT32 Read_DecNumber(const TUINT8* str)
    {
        TUINT32 value;
    
        if (! str)
        {
            return 0;
        }
        value = 0;
        while ((*str >= '0') && (*str <= '9'))
        {
            value = value*10 + (*str - '0');
            str++;
        }
        return value;
    }
    //将字符串中的16进制数转化为10进制数 
    TUINT32 Read_HexNumber(const TUINT8* str)
    {
        TUINT32 value;
    
        if (! str)
        {
            return 0;
        }
        value = 0;
        while (1)
        {
            if ((*str >= '0') && (*str <= '9'))
            {
                value = value*16 + (*str - '0');
            }
            else if ((*str >= 'A') && (*str <= 'F'))
            {
                value = value*16 + (*str - 'A') + 10;
            }
            else if ((*str >= 'a') && (*str <= 'f'))
            {
                value = value*16 + (*str - 'a') + 10;
            }
            else
            {
                break;
            }
            str++;
        }
        return value;
    }
    
    执行结果:



  • 相关阅读:
    设定cookie 获取cookie数据的转换
    cookie cookie的获取
    常见的请求方式 json字符串
    请求报文和响应报文
    http协议
    php分页查询 子查询
    MAC 地址为什么不需要全球唯一
    ceph分布式存储简介
    一文看懂为什么边缘计算是大势所趋
    真香!Windows 可直接运行 Linux 了
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/7065689.html
Copyright © 2011-2022 走看看