#include "string.h"
#define INVALID_VALUE_LXX ((1 << (8 * sizeof(int) -1)) - 1)
/*有符号整型最大值,假设越界将为0, and - is prioty of <<*/
#define A2a(ch) (('a' <= (ch) && (ch) <= 'f') ? (ch) : ((ch) - 'A' + 'a')) bool is0to9(char ch)
{
if ('0' <= ch && ch <= '9')
{
return true;
}
else
{
return false;
}
} bool isatoF(char ch)
{
if (('a' <= ch && ch <= 'f') || ('A' < ch && ch <= 'F'))
{
return true;
}
else
{
return false;
}
} int a2iLxx(char* ch)
{
int index = 0;
int retVal = 0;
bool flag = false;
if (NULL == ch)
{
return INVALID_VALUE_LXX;
} /*Ox*/
if ('0' == ch[0] && ('x' == ch[1] || 'X' == ch[1]))
{
index = 2;
for (; ch[index] != '\0'; index++)
{
/* x * 2^y == x * 1 << y */
if (is0to9(ch[index]))
{
retVal = (retVal << 4) + ch[index] - '0';
continue;
} if (isatoF(ch[index]))
{
retVal = (retVal << 4) + 10 + A2a(ch[index]) - 'a';
continue;
} return INVALID_VALUE_LXX; }
return retVal;
} /*10*/
index = 0;
if ('-' == ch[0])
{
/*负数*/
flag = true;
index = 1;
} for (; ch[index] != '\0'; index++)
{
if (!is0to9(ch[index]))
{
return INVALID_VALUE_LXX;
}
retVal = retVal * 10 + ch[index] - '0';
} if (flag)
{
return -retVal;
}
else
{
return retVal;
}
} void main()
{
char ch1[] = "123";
char ch2[] = "-234";
char ch3[] = "0";
char ch4[] = "0x123";
char ch5[] = "0xff";
int a = INVALID_VALUE_LXX;
char d1 = A2a('a');
char d2 = A2a('B');
/*调试查看值*/
a = a2iLxx(ch1);
a = a2iLxx(ch2);
a = a2iLxx(ch3);
a = a2iLxx(ch4);
a = a2iLxx(ch5);
}

版权声明:本文博主原创文章,博客,未经同意不得转载。

汉字转整数,比系统简单易用!a2iLxx (覆盖物 16十六进制,VC6亲测可用)请提供意见~的更多相关文章

  1. Win10 系统运行VsCode出现白屏的问题(亲测有效)

    Win10 系统运行VsCode出现白屏的问题(亲测有效) 新买的本本,昨天VScode运行还正常,今天打开一直白屏,什么都没有,只有几个小格格,也不是卡死的那种,可以轻松关闭, 刚开始以为版本问题, ...

  2. 亲测可用!在线购书系统项目分享(Java)

    项目简介 项目来源于:https://gitee.com/suimz_admin/BookShop 一个基于JSP+Servlet+Jdbc的书店系统.涉及技术少,易于理解,适合JavaWeb初学者学 ...

  3. Linux系统简单易用的上传下载命令rz和sz

    一)安装方法汇总 1.安装方法(推荐) yum install lrzsz -y 2.在安装Linux系统时选中"DialupNetworking Support"组包 3.安装系 ...

  4. 在Jenkins远程链接Linux系统,然后执行shell命令-亲测可用【转】

    版权声明:本文为博主原创文章,未经博主允许不得转载.部分为转载其他人的,如要使用,也请提前通知一声 https://blog.csdn.net/a136332462/article/details/7 ...

  5. jdbc连接数据库以及crud(简单易懂,本人亲测可用 有源代码和数据库)

    今天呢!重新整理了一边jdbc的相关操作:现在来说对于很多框架都使用mybatis和hibernate来操作数据库 ,也有很多使用自己简单封装的ssm或者是其他的一些框架来操作数据库,但是无论使用哪一 ...

  6. [转]MAC系统下Sublime Text3 配置Python3详细教程(亲测有效)

    原文地址: https://blog.csdn.net/weixin_41768008/article/details/79859008?tdsourcetag=s_pctim_aiomsg 这段时间 ...

  7. 原创:【ajax | axios跨域简单请求+复杂请求】自定义header头Token请求Laravel5后台【亲测可用】

    如标题:我想在ajax的header头增加自定义Token进行跨域api认证并调用,api使用laravel5编写,如何实现? 首先,了解下CORS简单请求和复杂请求.  -- CORS简单请求 -- ...

  8. Windows10系统python环境下安装Dlib库(转载,蔡军帅亲测可用)

    Dlib是一个很优秀的机器学习库,最近做人脸识别要用到这个库,简要记录一下配置过程,准备工作: 1.python环境 2.安装好pip(这里有个简单的安装教程) 3.Dlib包,贴一个我安装的版本,链 ...

  9. MAC系统下破解WIFI密码(亲测可用,含wifi密码字典)

    出差第二天,住的小区因为疫情被封,宿舍又没有wifi,看着附近满满的WIFI信号列表,wifi万能钥匙却一个都连接不上,心中一万匹CNM...于是电脑连上手机热点,然后各种折腾,终于破解了一个隔壁的w ...

随机推荐

  1. 如何找到w3wp与w3svc的对应关系

    在生产环境中,一般会有多个IIS进程在运行,这里面可能是有Web Garden的设置,也可能是有多个application pool在运行.而我们经常在c:\inetpub\logs目录下面,看到很多 ...

  2. Lua中的weak表——weak table(转)

    弱表(weak table)是一个很有意思的东西,像C++/Java等语言是没有的.弱表的定义是:A weak table is a table whose elements are weak ref ...

  3. C++结构体之统计最高最低分

    [Submit][Status][Web Board] Description 输入学生的姓名和成绩,统计出最高分的学生和最低分的学生. Input 输入5个学生的姓名和分数,用结构体完成 Outpu ...

  4. android ListView优化

    android ListView通过优化重用历史缓存实现.listview相应的数据适配器一般使用自己定义BaseAdapter子类,重用历史缓冲区来提高性能. 例如,下面的示例代码演示: 1.lis ...

  5. * 类描写叙述:字符串工具类 类名称:String_U

    /****************************************** * 类描写叙述:字符串工具类 类名称:String_U * ************************** ...

  6. MSXML2;System.ServiceModel.Configuration;对应dll的添加方法

  7. [原创].NET 分布式架构开发实战之一 故事起源

    原文:[原创].NET 分布式架构开发实战之一 故事起源 .NET 分布式架构开发实战之一 故事起源 前言:本系列文章主要讲述一个实实在在的项目开发的过程,主要包含:提出问题,解决问题,架构设计和各个 ...

  8. HDU ACM 1088 Write a simple HTML Browser

    意甲冠军:出现<br>总结,出现<hr>出口'-',今天的字加上各行的假设是长于80然后包,每个字之前,留下一个空白格,为了输出新行结束. #include<iostre ...

  9. linux软与硬接线连接

    1.Linux链接概念 Linux链接分两种.一种被称为硬链接(Hard Link),还有一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接. [硬连接] 硬连接指通过索 ...

  10. 【iOS】Swift扩展extension和协议protocol

    加上几个关节前Playground摘要码进入github在,凝视写了非常多,主要是为了方便自己的未来可以Fanfankan. Swift语法的主要部分几乎相同的. 当然也有通用的.运算符重载.ARC. ...