我有一个这样的整数:
int myInteger = 1234;
我想要得到的是匹配的十六进制有符号2s补码,它应该类似于以下内容:
string hexValueAsString = "052C";
我尝试使用.ToString("X2")
方法无法正常工作。
uint myInteger = 1234;
string hexValueAsString = myInteger.ToString("X2"); // 52C instead of 052C
我到底在做什么错? 任何帮助将不胜感激。
答案 0 :(得分:0)
如果您事先知道所需的位数,则可以明确指定:
string hexValueAsString = myInteger.ToString("X4");
否则,您可以执行以下操作:
int myInteger = 1234;
string hexValueAsString = myInteger.ToString("X");
if (hexValueAsString.Length % 2 == 1)
hexValueAsString = hexValueAsString.Insert(0, "0");