スポンサーリンク
※サイト運営にサーバーは必須です※
~ ロリポップ! はコスパのよい初心者向けサーバーです~
目次
データ型の最小値と最大値を確認する方法(C#)
手っ取り早く、結果と手法を知りたい場合は、一番下にコードを置きましたので、確認してください。
一応、データ型のバイト数と、どのように最小値と最大値が定まるか確認します。
そもそもバイトとビットとは?
コンピュータなどで取り扱われるデータの最小単位は1ビット(bit)です。
この1ビットに0か1が格納されます。
そのため、1ビットで表現できるのは0か1の2通りです。
1バイト(byte)で8ビットに相当します。
1byte=8bit
それぞれの型のビット長と範囲
型 | ビット長 | 範囲 |
byte | 8 | 0 ~ 255 |
sbyte | 8 | -128 ~ 127 |
short | 16 | -32,768 ~ 32,767 |
ushort | 16 | 0 ~ 65535 |
int | 32 | -2,147,483,648 ~ 2,147,483,647 |
uint | 32 | 0 ~ 4294967295 |
long | 64 | -922337203685477508 ~ 922337203685477507 |
ulong | 64 | 0 ~ 18446744073709551615 |
float | 32 | -3.402823e38 ~ 3.402823e38 |
double | 64 | -1.79769313486232e308 ~ 1.79769313486232e308 |
decimal | 128 | ±1.0 × 10e − 28 ~ ±7.9 × 10e28 |
8ビット(1バイト)で表現できる情報の種類は2の8乗の256通りです。
以上のことから8ビットで表現されるbyte型(sbyte型)は以下のような数字の範囲が表現できることが納得できるでしょう。
byte:0~255
sbyte:-128~127
同様に、short型、int型、long型で表現できる数字の範囲は、以下のように考えればよい。
short:2の16乗通り
int:2の32乗通り
long: 2の64乗通り
int型は、だいたい21億まで表現できると覚えておきましょう。
※私は、int型に関して、世界の人口が数えられない程度の大きさだと覚えています。
※浮動小数点型であるfloat型とdouble型に関しては以下の記事を参考にしてください
ソースコード
言語はC#です。各データ型の最大値と最小値を表示させます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace data_max01 { class Program { static void Main(string[] args) { Console.WriteLine("byte型:" + byte.MinValue + "~" + byte.MaxValue); Console.WriteLine("sbyte型:" + sbyte.MinValue + "~" + sbyte.MaxValue); Console.WriteLine("short型:" + short.MinValue + "~" + short.MaxValue); Console.WriteLine("ushort型:" + ushort.MinValue + "~" + ushort.MaxValue); Console.WriteLine("int型:" + int.MinValue + "~" + int.MaxValue); Console.WriteLine("uint型:" + uint.MinValue + "~" + uint.MaxValue); Console.WriteLine("long型:" + long.MinValue + "~" + long.MaxValue); Console.WriteLine("ulong型:" + ulong.MinValue + "~" + ulong.MaxValue); Console.WriteLine("float型:" + float.MinValue + "~" + float.MaxValue); Console.WriteLine("float型でゼロに近い最小値:" + float.Epsilon); Console.WriteLine("double型:" + double.MinValue + "~" + double.MaxValue); Console.WriteLine("double型でゼロに近い最小値:" + double.Epsilon); Console.WriteLine("decimal型:" + decimal.MinValue + "~" + decimal.MaxValue); } } } |
※int型の最小値を取ってくる際に、名前空間がSystemで、Int32という構造体の中にある、フィールド名がMinValueの値を見に行っています。
浮動小数点型のゼロに近い最も小さな数を調べるには、「Epsilon」(イプシロン)を使います。
※大学で数学を習うと、0に限りなく近いが、0でない有限の数字としてε(イプシロン)という記号が使われていたりします。
実行結果は以下のようになります。
byte型:0~255
sbyte型:-128~127
short型:-32768~32767
ushort型:0~65535
int型:-2147483648~2147483647
uint型:0~4294967295
long型:-9223372036854775808~9223372036854775807
ulong型:0~18446744073709551615
float型:-3.402823E+38~3.402823E+38
float型でゼロに近い最小値:1.401298E-45
double型:-1.79769313486232E+308~1.79769313486232E+308
double型でゼロに近い最小値:4.94065645841247E-324
decimal型:-79228162514264337593543950335~79228162514264337593543950335
関連記事
~ギャンブルに絶対儲かる必勝法があるのだろうか?~
私(サイト主)はこの疑問に対して非常に興味を持ち、プログラミングで検証してみました。
このサイトを応援してもいいかなと思う人はぜひとも購入を検討してみてください。