). 我试过了 string result = Convert.To-6ren">
gpt4 book ai didi

C# 十六进制到位转换

转载 作者:行者123 更新时间:2023-11-30 13:27:43 30 4
gpt4 key购买 nike

我正在尝试将 64 位数字的十六进制表示形式(例如,字符串 "FFFFFFFFF")转换为二进制表示形式("11111...") >).

我试过了

string result = Convert.ToString(Convert.ToUInt64(value, 16), 2);

但这会导致令人困惑的编译器错误:

The best overloaded method match for 'System.Convert.ToString(object, System.IFormatProvider)' has some invalid arguments

Argument 2: cannot convert from 'int' to 'System.IFormatProvider'

最佳答案

下面的代码有什么问题?

string hex = "FFFFFFFFFFFFFFFF";

// Returns -1
long longValue = Convert.ToInt64(hex, 16);

// Returns 1111111111111111111111111111111111111111111111111111111111111111
string binRepresentation = Convert.ToString(longValue, 2);

几乎是您编写的内容(仅将 ulong 固定为 long 转换),并返回您期望的内容。

编辑:取消删除此答案,因为即使 long 表示已签名,二进制表示实际上也是您所期望的。

关于C# 十六进制到位转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9482420/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com