如何解决C# - 如何将十进制转换为 2 的补码十六进制?
我在将十进制转换为其十六进制符号 2 的补码时遇到问题。我使用此 site 来检查我的转换是否正确,但似乎没有任何效果。
示例:
0002159721(Decimal) 转换为十六进制有符号 2 的补码时应为 0020F469
我能够使用此代码将十进制转换为十六进制。
string dec = "0002159721";
string hex = Convert.ToUInt32(dec).ToString("X"); //result: 20F469
现在,我很难获得 2 的补码。这是我目前所拥有的。
uint intVal = Convert.ToUInt32(dec,16);
uint twosComp = ~intVal + 1;
string h = string.Format("{0:X}",twosComp);
string h1 = twosComp.ToString("X"); // result: FFDF0B97
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。