#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. SQL Server 版本号汇总

    通过SSMS连接Sql servr,查看实例的版本就能知道当前SQL Server的版本号了.   RTM (no SP) SP1 SP2 SP3 SP4  SQL Server 2014     c ...

  2. 由Lucnene 对于预治疗的文字,全角半角转换器(可执行)

    这是我第二次读这本书,在自己的学习之间XML,javascript,的深入研究<JAVA 核心技术>. 在当中深入的学习了java的非常多机制. 回头再来看搜索引擎这本书的时候.就认为比第 ...

  3. 仿微沟道效应,主要actionbar有些知识

    仿微沟道效应,主要actionbar有些知识 1.新actionBar的menu <menu xmlns:android="http://schemas.android.com/apk ...

  4. python基础课程_学习笔记26:编程的乐趣

    编程的乐趣 编程柔术 当你坐下来,打算如何组织计划要定时,具体程序,然而,无论什么经验.在实现时间的函数的,你会逐渐学会了原来的设计,实用的新知识.我们不应该忽视沿途汲取的教训,相反,它们用于其他设计 ...

  5. 使用AppCompat_v7 21.0.0d的几个兼容问题

    1.实现新的ActionBarDrawerToggle动画 ActionBarDrawerToggle使用最新的AppCompat_v7 21会出现一个非常帅的动画.使用方式在Androidstudi ...

  6. 它们的定义PropertyPlaceHolder无法完成更换任务

    Spring默认PropertyPlaceholderConfigurer只能加载properties格风格简介,现在,我们需要能够从类的完整支持允许似hadoop格风格xml配置文件读取配置信息,并 ...

  7. 引用类型之object类型

    object类型有两种创建方法,第一种是直接创建法: var person=new Object(); person.name = "Nicholas"; person.age = ...

  8. POJ1458 Common Subsequence 【最长公共子序列】

    Common Subsequence Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 37614   Accepted: 15 ...

  9. Mybatis如何SQL声明表名称参数

    insert into prefix_${table_name} (a, b, c) values (#{a}, #{b}, #{c}) ${} 它代表了直接使用字面(literal value) # ...

  10. Visual Studio Team Services使用教程--邀请团队成员