天道酬勤,学无止境

C# Float 对比 VB.net Single - 我们在“抱怨”(C# Float vs. VB.net Single - Namin' complainin')

问题

为什么在VB.net中称为单曲? 我确信有一个很好的理由,但对于像我这样未经正式培训的程序员来说,这似乎并不直观。

回答1

BPAndrew 的问题似乎真的是“为什么在 C# 中浮动而在 VB.NET 中浮动”,实际上没有人回答,所以这是我的 2p ...

在 C# 中使用“float”似乎是对其 C/C++ 传统的回归。 "float" 仍然映射到 C# 中的 System.Single 类型,因此关键字只是为了方便而存在。 您也可以像在 VB.NET 中一样在 C# 中将变量声明为“Single”。

(如上所述,将它们命名为 Single/Double 实际上更有意义,因为它们是单/双精度浮点数。)

回答2

正如其他人所说,它们映射到“单”和“双”精度二进制浮点类型。 就我个人而言,我认为仅命名System.SingleSystem.Double是一个横向步骤 - 为什么不System.Float32System.Float64来匹配整数类型?

回答3

原因是 single 和 double 都是浮点数。

single 是 Single Precision Floating Point Number(32 位)的缩写
double 是双精度浮点数(64 位)的缩写

因此,将浮点数称为 float 是不明确的。

http://en.wikipedia.org/wiki/Single_precision
http://en.wikipedia.org/wiki/Double_precision

回答4

我认为它是"Single-precision"shorthand Double is “ Double-precision"

虽然C-style intfloat可能指的是"integer""floating point"

回答5

我想为命名约定添加我的假设。

在 Java 和 C# 诞生的 C/C++ 词中,int/long 和 float/double 可能会根据其所在的体系结构(32 位或 64 位)而有所不同。

在 Java 和 C# 等可移植 VM 语言中,这些类型不会改变,因此,命名约定可以反映这一点。 或者它可能只是上一代程序员最舒服的东西。 或者我们可以为所有东西创建别名,让每个人为所欲为!!

回答6

技术名称是“单精度浮点”,“单”是因为它在内存中占用一个字(32 位)。 与此同时,double 在大多数架构上需要 64 位。

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐