C# 数値型完全ガイド:short, int, long…を使い分けるポイント

こんにちは、阿久梨絵です!
C# でプログラミングを進める中で、数値型の選択は不可避のステップです。しかし、種類が多く、それぞれの違いを理解していないと「どれを選べばいいの?」と迷ってしまうことも。

C#では、整数型から浮動小数点型、高精度型まで、多様なデータ型が用意されています。それぞれが持つ特徴や用途を知ることで、効率的でエラーのないコードを書くことが可能になります。本記事では、初心者にも分かりやすく、C#の代表的な数値型とその使い分け方を解説します!

1. short:コンパクトな整数型

範囲: -32,768 ~ 32,767
16ビット(2バイト)の符号付き整数を扱います。

用途: 小さな整数を多く扱う場合や、メモリ節約が必要なケースで役立ちます(例:センサーのデータ処理)。
注意点: 範囲が狭いため、大きな数値には不向き


short value = 30000;
Console.WriteLine(value); // 出力: 30000

2. int:汎用性No.1の整数型

範囲: -2,147,483,648 ~ 2,147,483,647
32ビット(4バイト)の符号付き整数で、最も一般的に使用されます。

用途: ほとんどの整数値の計算に対応可能。範囲内であればこれを選ぶのが基本。


int number = 100000;
Console.WriteLine(number); // 出力: 100000

3. long:大規模計算の頼れる味方

範囲: -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
64ビット(8バイト)の符号付き整数型。

用途: ビッグデータ処理や金融計算など、非常に大きな数値を扱う必要がある場面に最適。

注意点: 小さな数値にはintで十分。


long largeNumber = 1000000000000;
Console.WriteLine(largeNumber); // 出力: 1000000000000

4. float:軽量かつスピーディな小数型

範囲: ±1.5 × 10⁻⁴⁵ ~ ±3.4 × 10³⁸(有効桁数約7桁)
32ビットの単精度浮動小数点型。

用途: グラフィックス計算や軽量化が重視される場面(例:ゲーム開発)。

注意点: 精度が低いため、重要な計算では注意が必要。


float pi = 3.14159f; // “f”を付けることでfloat型と明示
Console.WriteLine(pi); // 出力: 3.14159

5. double:科学計算の主役

範囲: ±5.0 × 10⁻³²⁴ ~ ±1.7 × 10³⁰⁸(有効桁数約15~16桁)
64ビットの倍精度浮動小数点型。

用途: 高精度が必要な場面や、浮動小数点数のデフォルト型として広く使用。

特徴: 精度と速度のバランスが良い。


double preciseNumber = 3.141592653589793;
Console.WriteLine(preciseNumber); // 出力: 3.141592653589793

6. decimal:誤差ゼロを目指した計算

範囲: ±1.0 × 10⁻²⁸ ~ ±7.9 × 10²⁸(有効桁数28~29桁)
128ビットの高精度な固定小数点型。

用途: 金融計算や通貨の計算など、高精度が求められる場面に最適。

注意点: 他の浮動小数点型に比べて処理速度が遅い


decimal money = 1000.75m; // “m”を付けることでdecimal型と指定
Console.WriteLine(money); // 出力: 1000.75

7. その他の数値型

データ型サイズ範囲
byte1バイト0 ~ 255
sbyte1バイト-128 ~ 127
ushort2バイト0 ~ 65,535
uint4バイト0 ~ 4,294,967,295
ulong8バイト0 ~ 18,446,744,073,709,551,615

これらは特定の条件下で役立ちますが、特殊な用途を除けばintやlongを優先的に使うのが一般的です。

8. 数値型をどう使い分けるべき?

整数型の選び方
・範囲が小さい:short
・一般的な用途:int(基本的にこれを使う!)
・巨大な数値:long

浮動小数点型の選び方
・軽量で高速:float
・高精度な計算:double

誤差を許容しない計算
・金融や通貨の計算:decimal

まとめ

C#の数値型は、それぞれが独自の特徴と用途を持っています。適切な型を選択することで、効率的なプログラムを実現できます。

デフォルトではint(整数)やdouble(浮動小数点)を選び高度な要件に応じてdecimalや他の型を検討。

小さな範囲でメモリ節約が重要な場合はshortやfloatを活用。

数値型を正しく使い分けることで、ミスを減らし、より精度の高いプログラムを開発できるでしょう!さあ、これを機にC#を使いこなしていきましょう!
阿久梨絵でした!

Verified by MonsterInsights