C# 如何添加十六进制数?

C# 如何添加十六进制数?,c#,C#,我试图用python到C实现以下几行代码# 之后,我需要将final_reg写入一个寄存器,该寄存器在python中是这样写的 serial.write(int('A', 16), int(final_reg, 16)) 但是在C中,我使用一个名为write\u word\u segment\u addr()的函数实现了我的serial.write;例如,如果我想将90写入A中,我现在这样写: mem.write_word_segment_addr(0x7c032, 0x00000090);

我试图用python到C实现以下几行代码#

之后,我需要将
final_reg
写入一个寄存器,该寄存器在python中是这样写的

serial.write(int('A', 16), int(final_reg, 16))
但是在C中,我使用一个名为
write\u word\u segment\u addr()的函数实现了我的
serial.write
;例如,如果我想将
90
写入
A
中,我现在这样写:

mem.write_word_segment_addr(0x7c032, 0x00000090);      //A
如何将
增益st
转换为
hex
,然后添加
400020
,然后将其转换为上面所示的0x格式,以便写入寄存器?

C的情况下,可以使用字符串插值:

final_reg = gain_st.ToString("x") + "400020";
mem.write_word_segment_addr(10, int.Parse(final_reg, NumberStyles.HexNumber));
如果要将
final_reg
转换为整数,请使用
convert

 write_word_segment_addr(Convert.Int32("A", 16), Convert.Int32(final_reg, 16));

看看这篇文章:到十六进制
string
strings=intValue.ToString(“x”)返回到
int
intv=Convert.ToInt32(s,16)
serial.write
这是我在python中使用的方法,我已经用C重新编写了一个方法,名为
write\u word\u segment\u addr
。我需要在期末考试前添加一个
0x
,为什么需要添加
0x
0xa
10
是完全相同的整数。
 // 0x is not required for further conversion and can be dropped
 string final_reg = $"0x{gain_st:x}{400020}";
 write_word_segment_addr(Convert.Int32("A", 16), Convert.Int32(final_reg, 16));