C#の数値型のデータ範囲(最小値~最大値)

C#

C#で使用できるintやdecimalなどの数値型のデータ範囲についてまとめておきます。

整数型

整数型には「sbyte型」「byte型」「short型」「ushort型」「int型」「uint型」「long型」「ulong型」の8種類があります。

sbyte型

sbyte型の有効なデータ(値)の範囲は「-128 ~ 127」になります。
sbyte型のサイズは「符号付き8ビット整数」.NET型は「System.SByte」です。

byte型

byte型の有効なデータ(値)の範囲は「0 ~ 255」になります。
byte型のサイズは「符号なし 8 ビット整数」.NET型は「System.Byte」です。

short型

short型の有効なデータ(値)の範囲は「-32,768 ~ 32,767」になります。
short型のサイズは「符号付き 16 ビット整数」.NET型は「System.Int16」です。

ushort型

ushort型の有効なデータ(値)の範囲は「0 ~ 65,535」になります。
ushort型のサイズは「符号なし 16 ビット整数」.NET型は「System.UInt16」です。

int型

int型の有効なデータ(値)の範囲は「-2,147,483,648 ~ 2,147,483,647」になります。
int型のサイズは「符号付き 32 ビット整数」.NET型は「System.Int32」です。

uint型

uint型の有効なデータ(値)の範囲は「0 ~ 4,294,967,295」になります。
uint型のサイズは「符号なし 32 ビット整数」.NET型は「System.UInt32」です。

long型

long型の有効なデータ(値)の範囲は「-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807」になります。
long型のサイズは「符号付き 64 ビット整数」.NET型は「System.Int64」です。

ulong型

ulong型の有効なデータ(値)の範囲は「0 ~ 18,446,744,073,709,551,615」になります。
ulong型のサイズは「符号なし 64 ビット整数」.NET型は「System.UInt64」です。

浮動小数点数値型

浮動小数点数型には「float型」「double型」「decimal型」の3種類があります。

float型

float型の有効なデータ(値)の範囲は「±1.5 x 10−45 ~ ±3.4 x 1038」になります。有効桁数は「~6 ~ 9 桁」です。
float型のサイズは「4 バイト」.NET型は「System.Single」です。

double型

double型の有効なデータ(値)の範囲は「±5.0 × 10−324 ~ ±1.7 × 10308」になります。有効桁数は「~15 ~ 17 桁」です。
double型のサイズは「8 バイト」.NET型は「System.Double」です。

decimal型

decimal型の有効なデータ(値)の範囲は「±1.0 x 10-28 ~ ±7.9228 x 1028」になります。有効桁数は「28 ~ 29 桁の数字」です。
decimal型のサイズは「16 バイト」.NET型は「System.Decimal」です。

数値型のデータ範囲を取得するサンプルプログラム

数値データ型の最小値と最大値を取得してコンソールに出力するプログラムのサンプルです。

ソースコード

数値型の定義情報を格納するクラスを作成して、sbyte型~decimal型までの値を設定してコンソールに出力します。

C#のキーワード .NET Frameworkのデータ型 データの範囲
sbyte System.SByte -128 ~ 127
byte System.Byte 0 ~ 255
short System.Int16 -32768 ~ 32767
ushort System.UInt16 0 ~ 65535
int System.Int32 -2147483648 ~ 2147483647
uint System.UInt32 0 ~ 4294967295
long System.Int64 -9223372036854775808 ~ 9223372036854775807
ulong System.UInt64 0 ~ 18446744073709551615
float System.Single -3.402823E+38 ~ 3.402823E+38
double System.Double -1.79769313486232E+308 ~ 1.79769313486232E+308
decimal System.Decimal -79228162514264337593543950335 ~ 79228162514264337593543950335

数値型の規定値

整数型、浮動小数点数値型ともに既定値はゼロ(0)です。

Null値の代入

整数型、浮動小数点数値型ともに値型なのでNull値を代入することはできません。
Null値を代入するには、Null許容型にする必要があります。

Null許容型は以下のように宣言することができます。
ここでは、Nullを許容するint型での例を示します。