如何实现十六进制加法

一条路坚持下去 2012-10-08 01:24:01
strB=0x120x340x560x780x90; textbox1.text=strB; 如何实现0x12+0x34+0x56+0x78+0x90,十六进制相加的和(补充一下,十六进制个数不确定)
...全文
1327 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangzong1118 2012-10-08
  • 打赏
  • 举报
回复
直接相加就可以了啊
  • 打赏
  • 举报
回复
private void button1_Click(object sender, EventArgs e)
{
string strA = "12 34 56 78 90";
string[] strE = strA.Split(new char[] { ' ' });
string strD = string.Empty;
foreach (string temp in strE)
{
strD += temp; //strD=1234567890
}

string strB = " ";

for (int i = 0; i < strD.Length; i += 2)
{
strB= "0x" + strD.Substring(i, 2).ToString(); //每两个截取出来然后保存,strB=0x120x340x560x780x90

}
string[] hex = System.Text.RegularExpressions.Regex.Split(strB, "0x");
int a = 0;
for (int i = 1; i < hex.Length; i++)
a += Convert.ToInt32(hex[i], 10);

textBox1.Text =Convert.ToString(~a+1,16); textBox2.Text = strA+" "+textBox1.Text.Substring(textBox1.Text.Length-2);
我想实现取反加1,红色的部分怎么改,请大师指教
Anod 2012-10-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
直接加就可以了,会自动转成10进制的。
int a = 0xAA + 0xA ;

再转成16进制
a.ToString("X")
[/Quote]

同上
浪子-无悔 2012-10-08
  • 打赏
  • 举报
回复
哈哈..跟孟大哥又学习了点心只是~~~
孟子E章 2012-10-08
  • 打赏
  • 举报
回复
取出的话,你可以
String strB="0x120x340x560x780x90";
String[] hex = System.Text.RegularExpressions.Regex.Split(strB, "0x");
int a = 0;
for (int x = 1; x < hex.Length; x++)
a += Convert.ToInt32(hex[x], 16);
  • 打赏
  • 举报
回复
如何截取出0x12,,0x34,0x56,0x78,0x90,并且相加
孟子E章 2012-10-08
  • 打赏
  • 举报
回复
直接加就可以了,会自动转成10进制的。
int a = 0xAA + 0xA ;

再转成16进制
a.ToString("X")

当然,转成10进制再加也是可以的

Convert.ToInt32("AA", 16)

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧