为什么它在 VB.net 中被称为单曲?我确信这是有充分理由的,但对于像我这样未经正式培训的程序员来说,这似乎并不直观。
6 回答
BPAndrew 的问题似乎真的是“为什么在 C# 中浮动而在 VB.NET 中是单一的”,实际上没有人回答,所以这是我的 2p ...
在 C# 中使用“float”似乎是对其 C/C++ 传统的回归。“float”仍然映射到 C# 中的 System.Single 类型,因此关键字只是为了方便而存在。您可以像在 VB.NET 中一样在 C# 中将变量声明为“Single”。
(如上所述,将它们命名为 Single/Double 实际上更有意义,因为它们是单/双精度浮点数。)
正如其他人所说,它们映射到“单”和“双”精度二进制浮点类型。就我个人而言,我认为只是命名System.Single
和匹配整数类型是一个侧面步骤System.Double
- 为什么不System.Float32
匹配System.Float64
整数类型?
原因是 single 和 double 都是浮点数。
single 是单精度浮点数(32 位)
的缩写 double 是双精度浮点数(64 位)的缩写
因此,调用浮点数 float 是模棱两可的。
http://en.wikipedia.org/wiki/Single_precision
http://en.wikipedia.org/wiki/Double_precision
我认为这是一个shorthand
for "Single-precision"
Double
is "Double-precision"
虽然C-style int
和float
可能指的是"integer"
和"floating point"
我想为命名约定添加我的假设。
在 Java 和 C# 诞生的 C/C++ 词中,int/long 和 float/double 可能会根据其所在的体系结构(32 位或 64 位)而有所不同。
在 Java 和 C# 等可移植 VM 语言中,这些类型不会改变,因此命名约定可以反映这一点。或者它可能只是上一代程序员最舒服的东西。或者我们可以为所有内容创建别名,让每个人为所欲为!
技术名称是“单精度浮点”,“单”是因为它在内存中占用一个单词(32 位)。与此同时,在大多数架构上,double 占用 64 位。