Is there a C# function that formats a 64bit quot;Unsignedquot; value to its equivalent binary value?(是否有格式化 64 位“无符号的 C# 函数?值与其等效的二进制值?)
问题描述
要将数字格式化/显示为其等效的二进制形式(在 C# 中),我总是简单地调用:
To format/display a number to its equivalent binary form (in C#), I have always simply called:
Convert.ToString(myNumber, 2);
今天,我刚刚意识到我一直在调用的 .ToString() 重载不支持大于 9223372036854775807 的值.注意 .ToString() 重载的签名是:.ToString(long, int)代码>.其中long"是一个 64 位 signed 值,最大值为 9223372036854775807.
Today, I just realized that the .ToString() overload that I have been calling does not support values that are greater than 9223372036854775807. Note the .ToString() overload's signature is: .ToString(long, int)
. Where "long" is a 64bit signed value which max's out at 9223372036854775807.
换句话说,使用 C#,当我运行它时:
To put it another way, using C#, when I run this:
Convert.ToString(9223372036854775808,2);
我收到这条异常消息并不奇怪(由于签名):
It's no surprise (due to the signature) that I receive this exception message:
'System.Convert.ToString(object,System.IFormatProvider)' 有一些无效的参数- 参数 2:无法从 'int' 转换为 'System.IFormatProvider'
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'
我的问题:是否有一个 .NET 函数允许我们将大于 9223372036854775807 的值转换为等效的二进制格式?
My question: Is there a .NET function that allows us to convert values greater than 9223372036854775807 to their equivalent binary format?
推荐答案
你可以称它为无符号或有符号,但按位看是一样的!
You can call it unsigned or signed, but its the same if you look at it bitwise!
如果你这样做:
Convert.ToString((long)myNumber,2);
如果有 Convert.ToString() 的 ulong 实现,您将获得相同的位,这就是为什么没有 ... ;)
you would get the same bits as you would if there were ulong implementation of Convert.ToString(), and thats why there is none... ;)
因此,((long)-1)
和 ((ulong)-1)
在内存中看起来是一样的.
Therefore, ((long)-1)
and ((ulong)-1)
looks the same in memory.
这篇关于是否有格式化 64 位“无符号"的 C# 函数?值与其等效的二进制值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:是否有格式化 64 位“无符号"的 C# 函数?值与
基础教程推荐
- 将 Office 安装到 Windows 容器 (servercore:ltsc2019) 失败,错误代码为 17002 2022-01-01
- 将 XML 转换为通用列表 2022-01-01
- MS Visual Studio .NET 的替代品 2022-01-01
- 为什么Flurl.Http DownloadFileAsync/Http客户端GetAsync需要 2022-09-30
- 有没有办法忽略 2GB 文件上传的 maxRequestLength 限制? 2022-01-01
- rabbitmq 的 REST API 2022-01-01
- SSE 浮点算术是否可重现? 2022-01-01
- c# Math.Sqrt 实现 2022-01-01
- 如何在 IDE 中获取 Xamarin Studio C# 输出? 2022-01-01
- 如何激活MC67中的红灯 2022-01-01