c语言如何将32位拆分为4字节,二十四进制编码串转换为32位无符号整数(C语言实现)...

该博客详细介绍了如何使用C语言将一个24位的十六进制编码串转换为32位无符号整数。通过定义枚举和辅助函数IsScale24,实现了从字符到位值的映射,并在转换过程中检查溢出。文章提供了一个完整的转换函数C24ToU32,该函数能够处理以''结尾的字符串,并返回转换结果或错误代码。
摘要由CSDN通过智能技术生成

typedef intBOOL;#define TRUE 1;

#define FALSE 0;

#define UINT_MAX 0xffffffff /* maximum unsigned int value */

enumScale24AsciiVal

{

sav_aADis= 32, //小写字母与大写字母ASCII码差值

sav_chIntDis = 48, //字符‘0’ASCII码值

};static const char scale24[24] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B','C', 'F', 'H', 'K', 'M', 'P', 'S', 'T', 'U', 'W', 'X', 'Y'};//判断是否为合法的二十四进制编码字符

BOOL IsScale24(const char ch, unsigned int*nVal);/*二十四进制编码串转换为32位无符号整数, 其中:

参数:

str 二十四进制编码串

length 二十四进制编码串长度, 若 < 0 则为 str 以 '\0' 结尾

code 转换返回码, 若 code == NULL 则忽略返回码

返回值:

(值) 转换后的返回值, 转换是否成功从 code 得到。*/unsignedint C24ToU32(const c

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值