将十六进制转换为二进制

3

我希望将十六进制数转换为二进制数。我搜索了一些文章,但找不到c#语言的程序。

我使用了以下代码:

value = 0xFFFF;
decimalNum = Convert.ToString(value, 16);
Console.WriteLine(value);

然后我把它转换成了二进制数。有没有更简单、更快的方法来做到这一点?


每个基础转换都比单个方法调用更容易吗?我认为.NET运行时实现的ToString()性能表现良好。 - Eric J.
2个回答

2
你可以这样做:

var value = 0xFFFF; 
value = Convert.ToString(Convert.ToInt32(value.ToString(), 16), 2);
Console.WriteLine(value);
// 1100101010100110101

谢谢Jonathan,这就是我想要的! - AliTeo
分号。还剩五个字符。 - Millie Smith
1
谢谢,Millie。已修复 ;) - Jonathan Carroll

0
// Generate date in hex
DateTime dt = new DateTime();
dt = DateTime.Now;
string str = dt.ToString("yyyyMMddhhmmss");
string hexDate = dt.Ticks.ToString("X2");

// Convert hex date to date string
UInt64 numericDate = UInt64.Parse(hexDate, 
       System.Globalization.NumberStyles.AllowHexSpecifier);
long binaryDate = Convert.ToInt64(numericDate);
string strDate = DateTime.FromBinary(binaryDate).ToShortDateString();

1
虽然这段代码可能解决了问题,但是加上解释为什么以及如何解决问题会真正有助于提高您的帖子质量,并且可能会得到更多的赞。请记住,您正在回答未来读者的问题,而不仅仅是现在提问的人。请编辑您的答案以添加解释,并指出适用的限制和假设。 - Kevin M. Mansour

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接