【问题标题】:Adding string and int as hexadecimal将字符串和 int 添加为十六进制
【发布时间】:2016-11-28 04:25:43
【问题描述】:

我想在十六进制模式下添加两个十六进制数字,结果也应该是十六进制。 但问题是我有一个字符串“20010000”和int 0x400050,我应该如何添加它们来接收0x20410050?

我尝试过 int.Parse 使用各种十六进制选项,但结果总是十进制加法。

【问题讨论】:

  • 你能分享一些变量声明吗?是string foo = "20010000"; int bar = 0x400050;吗?如果是这样,我认为您的问题只是“如何将字符串解析为十六进制数?”对吗?
  • 如何将 bar 添加到 foo 就像两者都是十六进制并接收十六进制数。它更像“如何将字符串解析为十六进制但保留其值”,当我搜索解决方案时,只会弹出“如何将十进制字符串解析为十六进制整数”。
  • 我在猜测你真正想要什么,但看看我的回答是否有帮助。

标签: c# hex decimal


【解决方案1】:

这就是你要找的吗?

string aString = "20010000";
int a = Convert.ToInt32(aString, 16); // should be 536936448
int b = 0x400050; // should be 4194384

int sum = a + b; // should be 541130832
string sumString = sum.ToString("X"); // should be "20410050"
string sumStringWithPrefix = "0x" + subString; // should be "0x20410050"

【讨论】:

  • 这就是我一直在寻找的东西,之前尝试过类似的东西,但由于某种原因它不起作用。感谢您的回复
猜你喜欢
  • 1970-01-01
  • 2019-07-27
  • 2020-11-07
  • 1970-01-01
  • 2020-07-18
  • 1970-01-01
相关资源
最近更新 更多