`
isiqi
  • 浏览: 16486530 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

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

阅读更多

这个问题看是很简单,但是在不同语言中实现的方式却千差万别,如果不知道方法,还真是麻烦,我就是在C#中遇到该问题,让我费了很大的周折,才在msdn查到。
一、16进制字符串转数字
1C/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<len;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;
}
2VB
LngHex=val(“&H12AB”)
3VB.net
LngHex=val(“&H12AB”)
4C#
lngHex=Convert.ToInt32(“0x12AB”,16); //也可以直接写12AB
Msdn上有一个条目:“如何:将十六进制字符串转换为数字”
使用ToInt32,第一个参数为要转换的字符串,第二个参数表示数字的基数,十六进制为16
此外不仅支持16进制,2810进制都支持
二、数字转16进制字符串
1C/C++
Printf(“%x”,1234);
2VB
Hex(1234)
3VB.net
Hex(1234)
Int(1234).ToString(“X4”)
4C#
((int)1234).ToString(“X4”);
分享到:
评论

相关推荐

    单字节 多字节 双字节 相互转换

    例如,在一个英文程序中,需要将英文字符串转换为中文字符串,以便在中文环境中正确地显示。 在C语言中,提供了多种函数来实现单字节、多字节、双字节之间的相互转换,例如: * `mbtowc()`:将多字节字符串转换为...

    点击下载源文件

    这个文件可能是一个C++、C#、VB.NET或者其他支持Windows API的编程语言的源代码文件,版本号11.27可能表示该代码已经过多次迭代和优化。 了解这个转换过程对于任何涉及Windows图形界面编程或者需要处理颜色数据的...

    串口测试程序源码

    对于发送,程序可以处理两种数据格式——字符串和16进制数。字符串发送是直接将字符序列转化为二进制数据流发送出去;16进制数发送则需要将每个16进制数字转换为对应的8位二进制值,然后按照字节顺序发送。接收端则...

    C#微软培训资料

    18.2 在 C #代码中调用 C++和 VB 编写的组件 .240 18.3 版 本 控 制 .249 18.4 代 码 优 化 .252 18.5 小 结 .254 第五部分 附 录 .255 附录 A 关 键 字.255 附录 B 错 误 码.256 附录 C .Net 名字空间...

    ASP.NET面试题

    - **左移运算符**:例如`2 表示将数字2的二进制表示向左移动3位,结果是16。 - **位运算性能**:位运算操作在大多数情况下比普通的算术运算更快,因为它们直接作用于数值的二进制表示上。 #### 七、安全性和指针 -...

    C++ HMAC SHA1

    这个函数接受密钥和数据作为输入,返回一个160位(20字节)的哈希值,以十六进制字符串的形式表示。请注意,实际项目中应考虑异常处理和内存管理。 在标签中提到的C++ MD5加密,是另一种广泛使用的哈希函数,其哈希...

    2021-2022计算机二级等级考试试题及答案No.239.docx

    16. **字符串与字符数组**:在C/C++/C#等语言中,字符数组声明和初始化有多种方式,D选项正确表示了两个字符串常量的等价声明。 17. **SQL查询**:删除特定条件记录的操作是删除查询。 18. **Windows打印机管理**...

    2021-2022计算机二级等级考试试题及答案No.117.docx

    4. ASP.NET 支持的语言:ASP.NET框架支持C#、VB.NET和Jscript.NET三种编程语言。 5. SQL查询:在SQL中,查找姓名为张三或李四的记录的准则使用OR操作符,即"张三"Or"李四"。 6. 事件名称:事件的名称是由系统预先...

    2021-2022计算机二级等级考试试题及答案No.535.docx

    其中包括 **VB.NET** 和 **C#** 这两种主要的语言,同时也支持 JavaScript 作为客户端脚本语言。但是,**C. php** 不是 ASP.NET 支持的语言之一。因此,正确答案为 **C. php**。 ### 3. Internet 的网络协议 **...

    2021-2022计算机二级等级考试试题及答案No.4921.docx

    6. C语言输出:给定的C语言程序会输出字符串"Zhao",因为它首先打印指针变量的值,而不是它的地址。 7. 数据库应用系统:数据库设计是其核心问题,涉及数据的组织、存储和检索策略。 8. ASP程序分析:这部分未提供...

    2021-2022计算机二级等级考试试题及答案No.1959.docx

    - **解析**:ASP.NET 支持多种语言,其中包括 C#、VB.NET 和 JScript.NET。 #### 25. 冯·诺依曼架构 - **知识点**:冯·诺依曼架构是现代计算机的基本工作原理之一。 - **解析**:虽然冯·诺依曼架构是现代计算机...

    2021-2022计算机二级等级考试试题及答案No.9675.docx

    17. ASP.NET支持的语言:ASP.NET支持C#、VB.NET和Jscript.NET等多种编程语言。 18. 对象创建事件:在创建对象时,Init事件最先触发。 19. LinkedList集合方法:LinkedList集合提供了如getLast()、getFirst()和...

    vc++ 开发实例源码包

    内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...

    2021-2022计算机二级等级考试试题及答案No.14646.docx

    2. 关于程序段的描述,题目中`String s1="abc"+ "def"`创建了一个字符串,而`String s2=new String(s1)`则创建了`s1`的一个新副本。`s1==s2`比较的是对象引用,不是内容,所以它们不相等,因此行4不会执行;而`s1....

    2021-2022计算机二级等级考试试题及答案No.4118.docx

    其他选项中,A选项数组长度超过定义长度,B选项将字符串字面量赋给整型数组不合法,D选项定义字符数组时没有包含字符串结束符'\0'。 3. **关系数据库的基本运算**:关系数据库的检索操作主要基于选择(Selection)...

    2021-2022计算机二级等级考试试题及答案No.13883.docx

    4. 条件判断语句:`Ucase$(C$)&gt;”A” and Ucase$(C$) 是基于ASCII码的字符串比较,判断字符是否在"A"和"B"之间,属于基本的逻辑运算。 5. Python语法: - 字符串连接:选项A中的`f=("1"+"")`是正确的字符串连接...

    2021-2022计算机二级等级考试试题及答案No.3986.docx

    - **Declare** 不是 C# 或 VB.NET 中定义变量的关键字,而 **Dim**、**Public** 和 **Private** 分别表示声明局部变量、声明公共变量和声明私有变量。 ### 9. 引用类型 - 在 C# 中,**struct** 是值类型(即非引用...

    2021-2022计算机二级等级考试试题及答案No.3299.docx

    但ASP.NET并不使用JavaScript作为编程语言,而是使用C#、VB.NET等.NET兼容的语言。 4. **Python运算符**:Python语言包含算术运算符(如+,-,*,/等)、位运算符(如&,|,^等)、关系运算符(如==,!=,&gt;,&lt;等)...

    2021-2022计算机二级等级考试试题及答案No.16274.docx

    11. Python字符串处理:给定的Python代码会将输入的数字和字母字符串分割成单个字符,并忽略数字,所以输出将是"python22"。 12. 电子邮件协议:SMTP(Simple Mail Transfer Protocol)是Internet上用于发送电子...

    2021-2022计算机二级等级考试试题及答案No.19549.docx

    11. ASP.NET不使用JavaScript作为编程语言,而是支持多种.NET兼容的语言,如C#,VB.NET等。 12. C++源程序编译成的目标文件默认扩展名为`.obj`。 13. 对象方法中,对象之间通信是通过发送消息实现的。 14. 线程...

Global site tag (gtag.js) - Google Analytics