【PowerShell】System.Int16、System.Int32、System.Int64の違い

こんにちは。
けいぞうです。

今回は、「【PowerShell】System.Int16、System.Int32、System.Int64の違い」についての記事になります。

タイトルに【PowerShell】と付けましたが、PowerShellといっても.Netですし、もっと言えば他のプログラミング言語にも共通しているお話しになります。

Int16とかInt32とかの型の違いは言語に寄らない基本的な考え方ですよ、ということです。

[目次]

Int16,Int32,Int64の違い

一言で説明すると

「格納できる数値の大きさの限度」

が異なります。

それぞれ、以下の表で表した数値を格納することができます。

型名格納可能な範囲
System.Int16-32768 ~ 32767
System.Int32-2147483648 ~ 2147483647
System.Int64-9223372036854775808 ~ 9223372036854775807
int -2147483648 ~ 2147483647

「int」はPowerShellではSystem.Int32のエイリアスになっているため、同じ範囲の数値を格納することが可能です。

ちなみにInt64には「long」というエイリアスが用意されています。.Netなので、C#とかと同じですね。

その他の数値型について

その他の数値型についても表にまとめておきます。

型名 格納可能な範囲
System.Byte0 ~ 255
System.SByte-128 ~ 127
System.Decimal-79228162514264337593543950335 ~ 79228162514264337593543950335
System.Double-1.79769313486232E+308 ~ 1.79769313486232E+308
System.Single-3.402823E+38 ~ 3.402823E+38
System.UInt160 ~ 65535
System.UInt320 ~ 4294967295
System.UInt640 ~ 18446744073709551615