关于float类型的问题
在 C# 中,如何检测值是 4 字节浮点类型还是 8 字节浮点类型或两者不同?
How can I detect an value is 4 bytes float type or 8 byte float type or not both in C#?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
或者,这应该做同样的事情:
Alternatively, this should do the same thing:
C# 中的
float
始终是System.Single
的别名,它始终是 4 字节浮点值。C# 中的 double 始终是 System.Double 的别名,它是一个 8 字节浮点值。
如果您正在处理
float
值,在 C# 中,它始终是 4 个字节。这与平台无关,而是由 C# 规范保证。C# 规范第 1.3 节(类型和变量)明确指出了这一点:
float
in C# is always an alias forSystem.Single
, which is always a 4 byte floating point value.double
in C# is always an alias forSystem.Double
, which is an 8 byte floating point value.If you are dealing with a
float
value, in C#, it is always 4 bytes. This is not platform dependent, but rather guaranteed by the C# specification.The C# spec, section 1.3 (Types and variables) states this explicitly:
要查看您的变量是否是浮点数,请使用以下代码
要查看浮点数的实际大小(如果您需要的话):
您不能使用
sizeof(myVariable)
,因此您必须同时使用上述两种方法中的一种。To see it your variable is a float or not, use the following code
To see the actual size of float if that is what you need:
You cannot use
sizeof(myVariable)
, so you have to use both of the two approaches above.