java中两个十六进制值相减或相加的方法
有没有一种方法可以计算两个十六进制值而不将其转换为int? 例如:
String sHex = "f7c0";
String bHex = "040000000";
Is there a way of calculating two hexadecimal value without converting it to int?
for example:
String sHex = "f7c0";
String bHex = "040000000";
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
十六进制值是整数 - 只是以十六进制而不是十进制表示。
你就不能这样做吗?
如果不是,那么您实际上的意思是:
在这种情况下,最快的方法仍然是将它们转换为整数,使用类似
Integer.parseInt(sHex, 16);
Hexadecimal values are integers - just represented in hex instead of decimal.
Can't you just do this?
If not, then you actually meant:
In which case, the fastest way to do this is still by converting them to integers, using something like
Integer.parseInt(sHex, 16);
是的,您可以使用保存十六进制值表示的字符串进行某些(准确地说:任何)计算。
一个简单的例子是检查相等性。为此,您将两个字符串转换为小写,去掉所有前导零并应用 String.equals 方法。
其他计算则更加困难。但是,嘿,当我年轻的时候,我们所有的计算都是用纸笔或黑板上的粉笔进行的,因此原则上任何东西都可以计算,即使所有数据都是字符串的形式。
Yes, you can do certain (to be exact: any) calculations with strings that hold representations of hexadecimal values.
An easy example would be checking for equality. For this, you convert both strings to lowercase, strip all leading zeroes and apply the String.equals method.
Other calculations are more difficult. But hey, when I was young, we did all calculation with paper and pen or with chalk on the board, hence in principle anything that can be computed even if all data have the form of character strings.