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