c# - C# - 如何将十进制转换为 2 的补码十六进制?
问题描述
我无法将十进制转换为其十六进制签名 2 的补码。我使用这个网站来检查我的转换是否正确,但似乎没有一个有效。
例子:
0002159721(十进制)转换为十六进制有符号 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
解决方案
推荐阅读
- react-native - React Native:如何在 iOS 中使用深度链接?
- python-3.x - 如何导入整个 python 文件而不破坏 F403 flake8 规则?
- javascript - Babel 可以应用到 Webpack Config 中的选定文件吗?
- javascript - 从 mongodb 存储值并验证
- javascript - 从'chai'导入{期望};SyntaxError: 不能在模块外使用 import 语句
- objective-c - SKCloudServiceController.requestAuthorization 在授权时卡住
- google-kubernetes-engine - GKE:当 api 服务器关闭时如何处理 etcd 压缩/当 etcd 已满时会发生什么
- sql-server - 进程等待命令但睡眠
- r - 在R中将JSON转换为数据框
- visual-studio-2019 - 如何在布局中使用 Razor 部分标签助手