25

VB.net でシングルと呼ばれるのはなぜですか? 正当な理由があると確信していますが、正式な訓練を受けていない私のようなプログラマーには直感的ではないようです。

4

6 に答える 6

34

BPAndrew の質問は、実際には「なぜ C# では float で、VB.NET では Single なのか」のようですが、実際には誰も答えていないので、ここに私の 2p を示します...

C# での "float" の使用は、C/C++ の遺産への回帰のようです。"float" は引き続き C# の System.Single 型にマップされるため、便宜上キーワードが存在します。VB.NET と同じように、C# で変数を "Single" として宣言することもできます。

(そして、上で述べたように、Single/Double という名前は、単精度/倍精度の浮動小数点数であるため、実際にはより意味があります。)

于 2008-11-07T13:38:10.603 に答える
18

他の人が言ったように、それらは「単精度」および「倍精度」のバイナリ浮動小数点型にマップされます。System.Single個人的には、単に名前を付けて整数型に一致させるのは横向きのステップだったと思いますSystem.Doubleか?System.Float32System.Float64

于 2008-11-07T14:18:58.960 に答える
8

その理由は、single と double の両方が両方とも浮動小数点数だからです。

single は単精度浮動小数点数 (32 ビット)
の略です double は倍精度浮動小数点数 (64 ビット) の略です

したがって、浮動小数点数 float を呼び出すことはあいまいです。

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

于 2008-11-07T13:12:46.830 に答える
2

私はそれがのshorthandためだと思います"Single-precision" DoubleDouble-precision"

C-style intandfloatはおそらく and を参照していましたが"integer""floating point"

于 2008-11-07T13:08:21.880 に答える
1

命名規則について私の仮説を追加したいと思います。

Java と C# が生まれた C/C++ の単語では、int/long と float/double は、それが存在するアーキテクチャ (32 ビットまたは 64 ビット) によって異なります。

Java や C# などの移植可能な VM 言語では、これらの型は変更されないため、命名規則にそれ反映される可能性があります。あるいは、前世代のプログラマーにとって最も快適なものかもしれません。または、すべてのエイリアスを作成して、誰もが好きなことをできるようにすることもできます!!

于 2011-11-04T13:53:56.857 に答える
0

技術的な名前は「単精度浮動小数点」、「単一」です。これは、メモリ内で 1 ワード (32 ビット) を使用するためです。一方、double は、ほとんどのアーキテクチャで 64 ビットを使用します。

于 2008-11-07T13:11:23.153 に答える