16进制字符串转数字(C/C++,VB/VB.net,C#)

简介: 这个问题看是很简单,但是在不同语言中实现的方式却千差万别,如果不知道方法,还真是麻烦,我就是在C#中遇到该问题,让我费了很大的周折,才在msdn查到。

这个问题看是很简单,但是在不同语言中实现的方式却千差万别,如果不知道方法,还真是麻烦,我就是在C#中遇到该问题,让我费了很大的周折,才在msdn查到。
一、16进制字符串转数字
     1、C/C++
           I、最简单的办法:sscanf(“12AB”,,”%x”,&lngHex);   //字符也可以为”0x12AB”
      II、有个朋友,自行编写函数实现了该功能,据说速度比sscanf快:
      BOOL   HexToDec(   LPCTSTR   shex,int&   idec   )  
     {  
      int   i,mid;  
      int   len   =   lstrlen(   shex   );      
      if(   len>8   )     return   FALSE;     
      mid   =   0;   idec   =   0;  
      for(   i=0;i      {  
          if(   shex[i]>='0'&&shex[i]<='9'   )   mid   =   shex[i]-'0';  
          else   if(   shex[i]>='a'&&shex[i]<='f'   )   mid   =   shex[i]   -'a'   +10;  
          else   if(   shex[i]>='A'&&shex[i]<='F'   )   mid   =   shex[i]   -'A'   +10;  
          else   return   FALSE;      
          mid   <<=   ((len-i-1)<<2);  
          idec   |=   mid;      
      }      
      return   TRUE;  
   }  
   2、VB
   LngHex=val(“&H12AB”)
 3、VB.net
LngHex=val(“&H12AB”)
 4、C#
     lngHex=Convert.ToInt32(“0x12AB”,16);   //也可以直接写12AB
   在Msdn上有一个条目:“如何:将十六进制字符串转换为数字”
   使用ToInt32,第一个参数为要转换的字符串,第二个参数表示数字的基数,十六进制为16。
   此外不仅支持16进制,2,8,10进制都支持 
 
二、数字转16进制字符串
1、C/C++
Printf(“%x”,1234);
2、VB
Hex(1234)
3、VB.net
Hex(1234)
Int(1234).ToString(“X4”)
4、C#
((int)1234).ToString(“X4”);

 

作者:叶帆
来源:CSDN
原文:https://blog.csdn.net/yfiot/article/details/1744847
版权声明:本文为博主原创文章,转载请附上博文链接!

相关文章
|
3月前
|
C语言 C++
【实战指南】 C/C++ 枚举转字符串实现
本文介绍了在C/C++中实现枚举转字符串的实用技巧,通过宏定义与统一管理枚举名,提升代码调试效率并减少维护错误。
269 54
|
开发框架 .NET C#
C#|.net core 基础 - 删除字符串最后一个字符的七大类N种实现方式
【10月更文挑战第9天】在 C#/.NET Core 中,有多种方法可以删除字符串的最后一个字符,包括使用 `Substring` 方法、`Remove` 方法、`ToCharArray` 与 `Array.Copy`、`StringBuilder`、正则表达式、循环遍历字符数组以及使用 LINQ 的 `SkipLast` 方法。
362 8
|
搜索推荐 编译器 C语言
【C++核心】特殊的元素集合-数组与字符串详解
这篇文章详细讲解了C++中数组和字符串的基本概念、操作和应用,包括一维数组、二维数组的定义和使用,以及C风格字符串和C++字符串类的对比。
237 4
|
开发框架 .NET 程序员
C# 去掉字符串最后一个字符的 4 种方法
在实际业务中,我们经常会遇到在循环中拼接字符串的场景,循环结束之后拼接得到的字符串的最后一个字符往往需要去掉,看看 C# 提供了哪4种方法可以高效去掉字符串的最后一个字符
974 0
|
8月前
|
消息中间件 Linux C++
c++ linux通过实现独立进程之间的通信和传递字符串 demo
的进程间通信机制,适用于父子进程之间的数据传输。希望本文能帮助您更好地理解和应用Linux管道,提升开发效率。 在实际开发中,除了管道,还可以根据具体需求选择消息队列、共享内存、套接字等其他进程间通信方
171 16
|
8月前
|
SQL Java 测试技术
C#字符串拼接的6种方式及其性能分析对比
在C#编程中字符串拼接是一种常见且基础的操作,广泛应用于各种场景,如动态生成SQL查询、构建日志信息、格式化用户显示内容等。然而,不同的字符串拼接方式在性能和内存使用上可能存在显著差异。今天咱们一起来看看在C#中字符串拼接的常见6种方式及其使用BenchmarkDotNet进行性能分析对比。
119 6
|
C# 开发者 Windows
在VB.NET项目中使用C#编写的代码
在VB.NET项目中使用C#编写的代码
167 0
|
物联网 C# C语言
物联网开发中C、C++和C#哪个更好用
在物联网(IoT)开发中,C、C++和C#各有优缺点,适用场景不同。C语言性能高、资源占用低,适合内存和计算能力有限的嵌入式系统,但开发复杂度高,易出错。C++支持面向对象编程,性能优秀,适用于复杂应用,但学习曲线陡峭,编译时间长。C#易于学习,与.NET框架结合紧密,适合快速开发Windows应用,但性能略低,平台支持有限。选择语言需根据具体项目需求、复杂性和团队技术栈综合考虑。
|
前端开发 C#
C# 一分钟浅谈:字符串操作与正则表达式
本文详细介绍C#中的字符串操作与正则表达式应用,涵盖字符串拼接、分割、查找及替换等基础操作,并通过实例讲解正则表达式的模式匹配、文本替换与分组捕获技巧。同时,文章还探讨了性能优化、复杂度管理和安全性等问题及解决策略,助你提升编程效率,应对实际开发挑战。
201 1
|
缓存 网络协议 API
C/C++ StringToAddress(字符串转 boost::asio::ip::address)
通过上述步骤和示例代码,你可以轻松地在C++项目中实现从字符串到 `boost::asio::ip::address`的转换,从而充分利用Boost.Asio库进行网络编程。
333 0