首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何比较两个十六进制数

如何比较两个十六进制数
EN

Stack Overflow用户
提问于 2012-08-21 09:05:39
回答 4查看 11.1K关注 0票数 3

比较两个十六进制数(即字符串)的最佳方法是什么?例如,

代码语言:javascript
复制
string a = "3F";
string b = "32";

if (a > b)
   MessageBox.Show("a is greater");

应该行得通。(假设>已正确重载)。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-08-21 09:09:05

您始终可以将它们转换为整数,并以这种方式进行比较:

代码语言:javascript
复制
int a = int.Parse("3E", System.Globalization.NumberStyles.HexNumber);
int b = int.Parse("32", System.Globalization.NumberStyles.HexNumber);

if (a > b)
    MessageBox.Show("a is greater");

看起来更安全:)

票数 9
EN

Stack Overflow用户

发布于 2012-08-21 09:07:16

将它们转换为整数,然后比较这些整数。

票数 3
EN

Stack Overflow用户

发布于 2012-08-22 00:47:10

还有一个基于字符串比较的简单算法:假设你的数字有一个独特的格式:总是小写或大写字母。前导0x与否,没有前导零。然后你可以这样做:如果数字a的位数比数字b的多:a>b

如果位数相等,则可以使用String.Compare。

这种算法的优点是它不限于32或64位。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12047210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档