# Int32Int32Int32Int32 Struct

## 定義

32 ビット符号付き整数を表します。Represents a 32-bit signed integer.

``public value class Int32 : IComparable, IComparable<int>, IConvertible, IEquatable<int>, IFormattable``
``````[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public struct Int32 : IComparable, IComparable<int>, IConvertible, IEquatable<int>, IFormattable``````
``````type int = struct
interface IFormattable
interface IConvertible``````
``````Public Structure Int32
Implements IComparable, IComparable(Of Integer), IConvertible, IEquatable(Of Integer), IFormattable``````

Int32Int32Int32Int32

## 注釈

Int32 符号付き整数範囲は-2,147, 483,648 から値を表す不変の値型 (で表される、Int32.MinValue定数) 正の 2,147, 483,647 まで (で表される、Int32.MaxValue定数。Int32 is an immutable value type that represents signed integers with values that range from negative 2,147,483,648 (which is represented by the Int32.MinValue constant) through positive 2,147,483,647 (which is represented by the Int32.MaxValue constant. .NET Framework には、32 ビット符号なし整数値の型も含まれていますUInt324,294,967,295 を 0 から範囲の値を表します。The .NET Framework also includes an unsigned 32-bit integer value type, UInt32, which represents values that range from 0 to 4,294,967,295.

### Int32 値をインスタンス化します。Instantiating an Int32 Value

インスタンス化することができます、Int32いくつかの方法で値。You can instantiate an Int32 value in several ways:

• 宣言することができます、Int32変数の範囲内にある整数リテラル値を割り当てます、Int32データ型。You can declare an Int32 variable and assign it a literal integer value that is within the range of the Int32 data type. 次の例で 2 つInt32変数し、それらにこの方法で値を割り当てます。The following example declares two Int32 variables and assigns them values in this way.

``````int number1 = 64301;
int number2 = 25548612;
``````
``````Dim number1 As Integer = 64301
Dim number2 As Integer = 25548612
``````
• 範囲がサブセットは、整数型の値を割り当てることができますのInt32型。You can assign the value of an integer type whose range is a subset of the Int32 type. これは、キャスト演算子 (C#) または Visual Basic で変換メソッドを必要としない拡大変換です。This is a widening conversion that does not require a cast operator in C# or a conversion method in Visual Basic.

``````sbyte value1 = 124;
short value2 = 1618;

int number1 = value1;
int number2 = value2;
``````
``````Dim value1 As SByte = 124
Dim value2 As Int16 = 1618

Dim number1 As Integer = value1
Dim number2 As Integer = value2
``````
• 範囲を超えています数値型の値を割り当てることができますのInt32型。You can assign the value of a numeric type whose range exceeds that of the Int32 type. 縮小変換には、このため場合、キャスト演算子 (C#) および Visual Basic での変換メソッドが必要に`Option Strict`にします。This is a narrowing conversion, so it requires a cast operator in C# and a conversion method in Visual Basic if `Option Strict` is on. 数値の値がある場合、 SingleDouble、またはDecimal小数コンポーネント、その小数部分の処理が含まれる値は、変換を実行して、コンパイラによって異なります。If the numeric value is a Single, Double, or Decimal value that includes a fractional component, the handling of its fractional part depends on the compiler performing the conversion. 次の例をいくつかの数値を割り当てる縮小変換を実行するInt32変数。The following example performs narrowing conversions to assign several numeric values to Int32 variables.

``````long lNumber = 163245617;
try {
int number1 = (int) lNumber;
Console.WriteLine(number1);
}
catch (OverflowException) {
Console.WriteLine("{0} is out of range of an Int32.", lNumber);
}

double dbl2 = 35901.997;
try {
int number2 = (int) dbl2;
Console.WriteLine(number2);
}
catch (OverflowException) {
Console.WriteLine("{0} is out of range of an Int32.", dbl2);
}

BigInteger bigNumber = 132451;
try {
int number3 = (int) bigNumber;
Console.WriteLine(number3);
}
catch (OverflowException) {
Console.WriteLine("{0} is out of range of an Int32.", bigNumber);
}
// The example displays the following output:
//       163245617
//       35902
//       132451
``````
``````Dim lNumber As Long = 163245617
Try
Dim number1 As Integer = CInt(lNumber)
Console.WriteLine(number1)
Catch e As OverflowException
Console.WriteLine("{0} is out of range of an Int32.", lNumber)
End Try

Dim dbl2 As Double = 35901.997
Try
Dim number2 As Integer = CInt(dbl2)
Console.WriteLine(number2)
Catch e As OverflowException
Console.WriteLine("{0} is out of range of an Int32.", dbl2)
End Try

Dim bigNumber As BigInteger = 132451
Try
Dim number3 As Integer = CInt(bigNumber)
Console.WriteLine(number3)
Catch e As OverflowException
Console.WriteLine("{0} is out of range of an Int32.", bigNumber)
End Try
' The example displays the following output:
'       163245617
'       35902
'       132451
``````
• メソッドを呼び出すことができます、Convertいずれかに変換するクラスには、型がサポートされている、Int32値。You can call a method of the Convert class to convert any supported type to an Int32 value. これは、考えられるため、Int32をサポートしています、IConvertibleインターフェイス。This is possible because Int32 supports the IConvertible interface. 次の例は、配列の変換を示しています。DecimalInt32値。The following example illustrates the conversion of an array of Decimal values to Int32 values.

``````decimal[] values= { Decimal.MinValue, -1034.23m, -12m, 0m, 147m,
199.55m, 9214.16m, Decimal.MaxValue };
int result;

foreach (decimal value in values)
{
try {
result = Convert.ToInt32(value);
Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.",
value.GetType().Name, value,
result.GetType().Name, result);
}
catch (OverflowException) {
Console.WriteLine("{0} is outside the range of the Int32 type.",
value);
}
}
// The example displays the following output:
//    -79228162514264337593543950335 is outside the range of the Int32 type.
//    Converted the Decimal value '-1034.23' to the Int32 value -1034.
//    Converted the Decimal value '-12' to the Int32 value -12.
//    Converted the Decimal value '0' to the Int32 value 0.
//    Converted the Decimal value '147' to the Int32 value 147.
//    Converted the Decimal value '199.55' to the Int32 value 200.
//    Converted the Decimal value '9214.16' to the Int32 value 9214.
//    79228162514264337593543950335 is outside the range of the Int32 type.
``````
``````Dim values() As Decimal = { Decimal.MinValue, -1034.23d, -12d, 0d, 147d, _
199.55d, 9214.16d, Decimal.MaxValue }
Dim result As Integer

For Each value As Decimal In values
Try
result = Convert.ToInt32(value)
Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.", _
value.GetType().Name, value, _
result.GetType().Name, result)
Catch e As OverflowException
Console.WriteLine("{0} is outside the range of the Int32 type.", _
value)
End Try
Next
' The example displays the following output:
'    -79228162514264337593543950335 is outside the range of the Int32 type.
'    Converted the Decimal value '-1034.23' to the Int32 value -1034.
'    Converted the Decimal value '-12' to the Int32 value -12.
'    Converted the Decimal value '0' to the Int32 value 0.
'    Converted the Decimal value '147' to the Int32 value 147.
'    Converted the Decimal value '199.55' to the Int32 value 200.
'    Converted the Decimal value '9214.16' to the Int32 value 9214.
'    79228162514264337593543950335 is outside the range of the Int32 type.
``````
• 呼び出すことができます、ParseまたはTryParseの文字列形式に変換するメソッド、Int32値をInt32します。You can call the Parse or TryParse method to convert the string representation of an Int32 value to an Int32. 文字列は、10 進数または 16 進数の数字を含めることができます。The string can contain either decimal or hexadecimal digits. 次の例では、10 進数と 16 進数の文字列の両方を使用して、解析操作を示しています。The following example illustrates the parse operation by using both a decimal and a hexadecimal string.

``````string string1 = "244681";
try {
int number1 = Int32.Parse(string1);
Console.WriteLine(number1);
}
catch (OverflowException) {
Console.WriteLine("'{0}' is out of range of a 32-bit integer.", string1);
}
catch (FormatException) {
Console.WriteLine("The format of '{0}' is invalid.", string1);
}

string string2 = "F9A3C";
try {
int number2 = Int32.Parse(string2,
System.Globalization.NumberStyles.HexNumber);
Console.WriteLine(number2);
}
catch (OverflowException) {
Console.WriteLine("'{0}' is out of range of a 32-bit integer.", string2);
}
catch (FormatException) {
Console.WriteLine("The format of '{0}' is invalid.", string2);
}
// The example displays the following output:
//       244681
//       1022524
``````
``````Dim string1 As String = "244681"
Try
Dim number1 As Integer = Int32.Parse(string1)
Console.WriteLine(number1)
Catch e As OverflowException
Console.WriteLine("'{0}' is out of range of a 32-bit integer.", string1)
Catch e As FormatException
Console.WriteLine("The format of '{0}' is invalid.", string1)
End Try

Dim string2 As String = "F9A3C"
Try
Dim number2 As Integer = Int32.Parse(string2,
System.Globalization.NumberStyles.HexNumber)
Console.WriteLine(number2)
Catch e As OverflowException
Console.WriteLine("'{0}' is out of range of a 32-bit integer.", string2)
Catch e As FormatException
Console.WriteLine("The format of '{0}' is invalid.", string2)
End Try
' The example displays the following output:
'       244681
'       1022524
``````

### Int32 値に対して操作を実行します。Performing Operations on Int32 Values

Int32型は、加算、減算、除算、乗算、否定、単項マイナス演算子などの標準の数値演算をサポートしています。The Int32 type supports standard mathematical operations such as addition, subtraction, division, multiplication, negation, and unary negation. などの他の整数型、Int32型演算子もサポートされて`AND``OR``XOR`、左 shift キー、および右シフト演算子。Like the other integral types, the Int32 type also supports the bitwise `AND`, `OR`, `XOR`, left shift, and right shift operators.

メンバーを呼び出すこともできます、Mathをさまざまな数値の商と整数の除算の剰余を計算する 2 つの最大値または最小値を決定する絶対パスの値を取得するなどの数値演算を実行するクラス整数、数値の符号を取得して、数値を四捨五入します。You can also call the members of the Math class to perform a wide range of numeric operations, including getting the absolute value of a number, calculating the quotient and remainder from integral division, determining the maximum or minimum value of two integers, getting the sign of a number, and rounding a number.

### Int32 型を文字列として表すRepresenting an Int32 as a String

Int32型は、標準およびカスタム数値書式指定文字列の完全なサポートを提供します。The Int32 type provides full support for standard and custom numeric format strings. (詳細については、次を参照してください型の書式設定Standard Numeric Format Strings、およびカスタム数値書式指定文字列。)。(For more information, see Formatting Types, Standard Numeric Format Strings, and Custom Numeric Format Strings.)

``````int[] numbers = { -1403, 0, 169, 1483104 };
foreach (int number in numbers) {
// Display value using default formatting.
Console.Write("{0,-8}  -->   ", number.ToString());
// Display value with 3 digits and leading zeros.
Console.Write("{0,11:D3}", number);
// Display value with 1 decimal digit.
Console.Write("{0,13:N1}", number);
// Display value as hexadecimal.
Console.Write("{0,12:X2}", number);
// Display value with eight hexadecimal digits.
Console.WriteLine("{0,14:X8}", number);
}
// The example displays the following output:
//    -1403     -->         -1403     -1,403.0    FFFFFA85      FFFFFA85
//    0         -->           000          0.0          00      00000000
//    169       -->           169        169.0          A9      000000A9
//    1483104   -->       1483104  1,483,104.0      16A160      0016A160
``````
``````Dim numbers() As Integer = { -1403, 0, 169, 1483104 }
For Each number As Integer In numbers
' Display value using default formatting.
Console.Write("{0,-8}  -->   ", number.ToString())
' Display value with 3 digits and leading zeros.
Console.Write("{0,11:D3}", number)
' Display value with 1 decimal digit.
Console.Write("{0,13:N1}", number)
' Display value as hexadecimal.
Console.Write("{0,12:X2}", number)
' Display value with eight hexadecimal digits.
Console.WriteLine("{0,14:X8}", number)
Next
' The example displays the following output:
'    -1403     -->         -1403     -1,403.0    FFFFFA85      FFFFFA85
'    0         -->           000          0.0          00      00000000
'    169       -->           169        169.0          A9      000000A9
'    1483104   -->       1483104  1,483,104.0      16A160      0016A160
``````

フォーマットすることも、 Int32 8 進数、バイナリ形式で呼び出すことによって、10 進または 16 進数の文字列の値、ToString(Int32, Int32)メソッドおよびメソッドの 2 番目のパラメーターとして情報を指定します。You can also format an Int32 value as a binary, octal, decimal, or hexadecimal string by calling the ToString(Int32, Int32) method and supplying the base as the method's second parameter. 次の例では、このバイナリは、8 進数、表示するメソッドをおよび整数値の配列の 16 進数表記を呼び出します。The following example calls this method to display the binary, octal, and hexadecimal representations of an array of integer values.

``````int[] numbers = { -146, 11043, 2781913 };
Console.WriteLine("{0,8}   {1,32}   {2,11}   {3,10}",
"Value", "Binary", "Octal", "Hex");
foreach (int number in numbers) {
Console.WriteLine("{0,8}   {1,32}   {2,11}   {3,10}",
number, Convert.ToString(number, 2),
Convert.ToString(number, 8),
Convert.ToString(number, 16));
}
// The example displays the following output:
//       Value                             Binary         Octal          Hex
//        -146   11111111111111111111111101101110   37777777556     ffffff6e
//       11043                     10101100100011         25443         2b23
//     2781913             1010100111001011011001      12471331       2a72d9
``````
``````Dim numbers() As Integer = { -146, 11043, 2781913 }
Console.WriteLine("{0,8}   {1,32}   {2,11}   {3,10}", _
"Value", "Binary", "Octal", "Hex")
For Each number As Integer In numbers
Console.WriteLine("{0,8}   {1,32}   {2,11}   {3,10}", _
number, Convert.ToString(number, 2), _
Convert.ToString(number, 8), _
Convert.ToString(number, 16))
Next
' The example displays the following output:
'       Value                             Binary         Octal          Hex
'        -146   11111111111111111111111101101110   37777777556     ffffff6e
'       11043                     10101100100011         25443         2b23
'     2781913             1010100111001011011001      12471331       2a72d9
``````

### 10 進数以外の 32 ビット整数値の使用Working with Non-Decimal 32-Bit Integer Values

10 進数値として個々 の整数を扱ってだけでなく、整数値でビットごとの操作を実行または整数値のバイナリまたは 16 進表現を使用する可能性があります。In addition to working with individual integers as decimal values, you may want to perform bitwise operations with integer values, or work with the binary or hexadecimal representations of integer values. Int32 値は、30 秒ビットを符号ビットとして使用される、31 ビット単位で表されます。Int32 values are represented in 31 bits, with the thirty-second bit used as a sign bit. 正の値は、符号および絶対値による表現を使用して表されます。Positive values are represented by using sign-and-magnitude representation. 負の値では、2 つの補数表記でします。Negative values are in two's complement representation. これでビットごとの演算を実行したときに留意する重要Int32値または個別のビットを使用する場合。This is important to keep in mind when you perform bitwise operations on Int32 values or when you work with individual bits. 数値、ブール値、または 2 つの非の 10 進値の比較演算を実行するためには、両方の値が同じ表現を使用する必要があります。In order to perform a numeric, Boolean, or comparison operation on any two non-decimal values, both values must use the same representation.

## フィールド

 MaxValue MaxValue MaxValue MaxValue Int32 の最大有効値を表します。Represents the largest possible value of an Int32. このフィールドは定数です。This field is constant. MinValue MinValue MinValue MinValue Int32 の最小有効値を表します。Represents the smallest possible value of Int32. このフィールドは定数です。This field is constant.