Int32 Struktur
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt eine 32-Bit-Ganzzahl mit Vorzeichen dar.
public value class int : IComparable, IComparable<int>, IConvertible, IEquatable<int>, IFormattable
public value class int : IComparable, IComparable<int>, IConvertible, IEquatable<int>, ISpanFormattable
public value class int : IComparable<int>, IConvertible, IEquatable<int>, IParsable<int>, ISpanParsable<int>, System::Numerics::IAdditionOperators<int, int, int>, System::Numerics::IAdditiveIdentity<int, int>, System::Numerics::IBinaryInteger<int>, System::Numerics::IBinaryNumber<int>, System::Numerics::IBitwiseOperators<int, int, int>, System::Numerics::IComparisonOperators<int, int>, System::Numerics::IDecrementOperators<int>, System::Numerics::IDivisionOperators<int, int, int>, System::Numerics::IEqualityOperators<int, int>, System::Numerics::IIncrementOperators<int>, System::Numerics::IMinMaxValue<int>, System::Numerics::IModulusOperators<int, int, int>, System::Numerics::IMultiplicativeIdentity<int, int>, System::Numerics::IMultiplyOperators<int, int, int>, System::Numerics::INumber<int>, System::Numerics::INumberBase<int>, System::Numerics::IShiftOperators<int, int>, System::Numerics::ISignedNumber<int>, System::Numerics::ISubtractionOperators<int, int, int>, System::Numerics::IUnaryNegationOperators<int, int>, System::Numerics::IUnaryPlusOperators<int, int>
public value class int : IComparable, IConvertible, IFormattable
public value class int : IComparable, IComparable<int>, IEquatable<int>, IFormattable
public struct Int32 : IComparable, IComparable<int>, IConvertible, IEquatable<int>, IFormattable
public readonly struct Int32 : IComparable, IComparable<int>, IConvertible, IEquatable<int>, IFormattable
public readonly struct Int32 : IComparable, IComparable<int>, IConvertible, IEquatable<int>, ISpanFormattable
public readonly struct Int32 : IComparable<int>, IConvertible, IEquatable<int>, IParsable<int>, ISpanParsable<int>, System.Numerics.IAdditionOperators<int,int,int>, System.Numerics.IAdditiveIdentity<int,int>, System.Numerics.IBinaryInteger<int>, System.Numerics.IBinaryNumber<int>, System.Numerics.IBitwiseOperators<int,int,int>, System.Numerics.IComparisonOperators<int,int>, System.Numerics.IDecrementOperators<int>, System.Numerics.IDivisionOperators<int,int,int>, System.Numerics.IEqualityOperators<int,int>, System.Numerics.IIncrementOperators<int>, System.Numerics.IMinMaxValue<int>, System.Numerics.IModulusOperators<int,int,int>, System.Numerics.IMultiplicativeIdentity<int,int>, System.Numerics.IMultiplyOperators<int,int,int>, System.Numerics.INumber<int>, System.Numerics.INumberBase<int>, System.Numerics.IShiftOperators<int,int>, System.Numerics.ISignedNumber<int>, System.Numerics.ISubtractionOperators<int,int,int>, System.Numerics.IUnaryNegationOperators<int,int>, System.Numerics.IUnaryPlusOperators<int,int>
[System.Serializable]
public struct Int32 : IComparable, IConvertible, IFormattable
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public struct Int32 : IComparable, IComparable<int>, IConvertible, IEquatable<int>, IFormattable
public struct Int32 : IComparable, IComparable<int>, IEquatable<int>, IFormattable
type int = struct
interface IConvertible
interface IFormattable
type int = struct
interface IConvertible
interface ISpanFormattable
interface IFormattable
type int = struct
interface IConvertible
interface IFormattable
interface IParsable<int>
interface ISpanFormattable
interface ISpanParsable<int>
interface IAdditionOperators<int, int, int>
interface IAdditiveIdentity<int, int>
interface IBinaryInteger<int>
interface IBinaryNumber<int>
interface IBitwiseOperators<int, int, int>
interface IComparisonOperators<int, int>
interface IEqualityOperators<int, int>
interface IDecrementOperators<int>
interface IDivisionOperators<int, int, int>
interface IIncrementOperators<int>
interface IModulusOperators<int, int, int>
interface IMultiplicativeIdentity<int, int>
interface IMultiplyOperators<int, int, int>
interface INumber<int>
interface INumberBase<int>
interface ISubtractionOperators<int, int, int>
interface IUnaryNegationOperators<int, int>
interface IUnaryPlusOperators<int, int>
interface IShiftOperators<int, int>
interface IMinMaxValue<int>
interface ISignedNumber<int>
[<System.Serializable>]
type int = struct
interface IFormattable
interface IConvertible
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type int = struct
interface IFormattable
interface IConvertible
type int = struct
interface IFormattable
Public Structure Int32
Implements IComparable, IComparable(Of Integer), IConvertible, IEquatable(Of Integer), IFormattable
Public Structure Int32
Implements IComparable, IComparable(Of Integer), IConvertible, IEquatable(Of Integer), ISpanFormattable
Public Structure Int32
Implements IAdditionOperators(Of Integer, Integer, Integer), IAdditiveIdentity(Of Integer, Integer), IBinaryInteger(Of Integer), IBinaryNumber(Of Integer), IBitwiseOperators(Of Integer, Integer, Integer), IComparable(Of Integer), IComparisonOperators(Of Integer, Integer), IConvertible, IDecrementOperators(Of Integer), IDivisionOperators(Of Integer, Integer, Integer), IEqualityOperators(Of Integer, Integer), IEquatable(Of Integer), IIncrementOperators(Of Integer), IMinMaxValue(Of Integer), IModulusOperators(Of Integer, Integer, Integer), IMultiplicativeIdentity(Of Integer, Integer), IMultiplyOperators(Of Integer, Integer, Integer), INumber(Of Integer), INumberBase(Of Integer), IParsable(Of Integer), IShiftOperators(Of Integer, Integer), ISignedNumber(Of Integer), ISpanParsable(Of Integer), ISubtractionOperators(Of Integer, Integer, Integer), IUnaryNegationOperators(Of Integer, Integer), IUnaryPlusOperators(Of Integer, Integer)
Public Structure Int32
Implements IComparable, IConvertible, IFormattable
Public Structure Int32
Implements IComparable, IComparable(Of Integer), IEquatable(Of Integer), IFormattable
- Vererbung
- Attribute
- Implementiert
-
IComparable IComparable<Int32> IConvertible IEquatable<Int32> IFormattable ISpanFormattable IComparable<TOther> IComparable<TSelf> IEquatable<TOther> IEquatable<TSelf> IParsable<Int32> IParsable<TSelf> ISpanParsable<Int32> ISpanParsable<TSelf> IAdditionOperators<Int32,Int32,Int32> IAdditionOperators<TSelf,TSelf,TSelf> IAdditiveIdentity<Int32,Int32> IAdditiveIdentity<TSelf,TSelf> IBinaryInteger<Int32> IBinaryNumber<Int32> IBinaryNumber<TSelf> IBitwiseOperators<Int32,Int32,Int32> IBitwiseOperators<TSelf,TSelf,TSelf> System.Numerics.IComparisonOperators<Int32,Int32> System.Numerics.IComparisonOperators<TSelf,TSelf> IDecrementOperators<Int32> IDecrementOperators<TSelf> IDivisionOperators<Int32,Int32,Int32> IDivisionOperators<TSelf,TSelf,TSelf> System.Numerics.IEqualityOperators<Int32,Int32> System.Numerics.IEqualityOperators<TSelf,TOther> System.Numerics.IEqualityOperators<TSelf,TSelf> IIncrementOperators<Int32> IIncrementOperators<TSelf> IMinMaxValue<Int32> IModulusOperators<Int32,Int32,Int32> IModulusOperators<TSelf,TSelf,TSelf> IMultiplicativeIdentity<Int32,Int32> IMultiplicativeIdentity<TSelf,TSelf> IMultiplyOperators<Int32,Int32,Int32> IMultiplyOperators<TSelf,TSelf,TSelf> INumber<Int32> INumber<TSelf> INumberBase<Int32> INumberBase<TSelf> System.Numerics.IShiftOperators<Int32,Int32> System.Numerics.IShiftOperators<TSelf,TSelf> ISignedNumber<Int32> ISubtractionOperators<Int32,Int32,Int32> ISubtractionOperators<TSelf,TSelf,TSelf> IUnaryNegationOperators<Int32,Int32> IUnaryNegationOperators<TSelf,TSelf> IUnaryPlusOperators<Int32,Int32> IUnaryPlusOperators<TSelf,TSelf>
Hinweise
Int32 ist ein unveränderlicher Werttyp, der signierte ganze Zahlen mit Werten darstellt, die sich aus negativen 2.147.483.648 (die durch die Konstante dargestellt werden) über positive 2.147.483.647 (die durch die Int32.MinValue Int32.MaxValue Konstante dargestellt wird). .NET enthält auch einen nicht signierten 32-Bit-Ganzzahlwerttyp, UInt32der Werte darstellt, die zwischen 0 und 4.294.967.295 liegen.
Instanziieren eines Int32-Werts
Sie können einen Int32 Wert auf verschiedene Arten instanziieren:
Sie können eine Int32 Variable deklarieren und ihm einen Literalzahlwert zuweisen, der sich im Bereich des Int32 Datentyps befindet. Im folgenden Beispiel werden zwei Int32 Variablen deklariert und diese Werte auf diese Weise zugewiesen.
int number1 = 64301; int number2 = 25548612;
let number1 = 64301 let number2 = 25548612
Dim number1 As Integer = 64301 Dim number2 As Integer = 25548612
Sie können den Wert eines ganzzahligen Typs zuweisen, dessen Bereich eine Teilmenge des Int32 Typs ist. Dies ist eine Erweiterungskonvertierung, die keinen Castoperator in C# oder eine Konvertierungsmethode in Visual Basic erfordert, aber eine in F#erfordert.
sbyte value1 = 124; short value2 = 1618; int number1 = value1; int number2 = value2;
let value1 = 124y let value2 = 1618s let number1 = int value1 let number2 = int value2
Dim value1 As SByte = 124 Dim value2 As Int16 = 1618 Dim number1 As Integer = value1 Dim number2 As Integer = value2
Sie können den Wert eines numerischen Typs zuweisen, dessen Bereich den Wert des Int32 Typs überschreitet. Dies ist eine schmale Konvertierung, sodass ein Castoperator in C# oder F# und eine Konvertierungsmethode in Visual Basic erforderlich ist, wenn
Option Strict
sie aktiviert ist. Wenn der numerische Wert ein , Doubleoder Decimal ein Wert ist, der eine SingleBruchkomponente enthält, hängt die Behandlung des Bruchteils vom Compiler ab, der die Konvertierung ausführt. Im folgenden Beispiel wird eine Verschränkung von Konvertierungen ausgeführt, um variablen mehrere numerische Werte Int32 zuzuweisen.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
let lNumber = 163245617L try let number1 = int lNumber printfn $"{number1}" with :? OverflowException -> printfn "{lNumber} is out of range of an Int32." let dbl2 = 35901.997 try let number2 = int dbl2 printfn $"{number2}" with :? OverflowException -> printfn $"{dbl2} is out of range of an Int32." let bigNumber = BigInteger 132451 try let number3 = int bigNumber printfn $"{number3}" with :? OverflowException -> printfn $"{bigNumber} is out of range of an Int32." // 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
Sie können eine Methode der Convert Klasse aufrufen, um jeden unterstützten Typ in einen Int32 Wert zu konvertieren. Dies ist möglich, da Int32 die IConvertible Schnittstelle unterstützt wird. Im folgenden Beispiel wird die Konvertierung eines Arrays von Decimal Werten in Int32 Werte veranschaulicht.
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.
let values = [| Decimal.MinValue; -1034.23M; -12m; 0M; 147M 199.55M; 9214.16M; Decimal.MaxValue |] for value in values do try let result = Convert.ToInt32 value printfn $"Converted the {value.GetType().Name} value '{value}' to the {result.GetType().Name} value {result}." with :? OverflowException -> printfn $"{value} is outside the range of the Int32 type." // 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.
Sie können die Parse TryParse Zeichenfolgendarstellung eines Werts in einen Int32 Int32Wert konvertieren oder eine Methode aufrufen. Die Zeichenfolge kann entweder dezimale oder hexadezimale Ziffern enthalten. Im folgenden Beispiel wird der Analysevorgang veranschaulicht, indem sie sowohl eine Dezimal- als auch eine Hexadezimalzeichenfolge verwenden.
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
let string1 = "244681" try let number1 = Int32.Parse string1 printfn $"{number1}" with | :? OverflowException -> printfn "'{string1}' is out of range of a 32-bit integer." | :? FormatException -> printfn $"The format of '{string1}' is invalid." let string2 = "F9A3C" try let number2 = Int32.Parse(string2, System.Globalization.NumberStyles.HexNumber) printfn $"{number2}" with | :? OverflowException -> printfn $"'{string2}' is out of range of a 32-bit integer." | :? FormatException -> printfn $"The format of '{string2}' is invalid." // 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
Ausführen von Vorgängen auf Int32-Werten
Der Int32 Typ unterstützt standardmäßige mathematische Vorgänge wie Ergänzung, Subtraktion, Abteilung, Multiplikation, Negation und nichtary Negation. Wie die anderen integralen Typen unterstützt der Int32 Typ auch die BitweiseAND
, OR``XOR
, die linke Umschalt- und die rechte Schichtoperatoren.
Sie können die standardmäßigen numerischen Operatoren verwenden, um zwei Int32 Werte zu vergleichen, oder Sie können die CompareTo Equals Methode aufrufen.
Sie können auch die Mitglieder der Math Klasse aufrufen, um einen breiten Bereich numerischer Vorgänge auszuführen, einschließlich des absoluten Werts einer Zahl, der Berechnung des Quotienten und des Rests von integraler Abteilung, bestimmen den Maximal- oder Mindestwert von zwei ganzzahligen Zahlen, das Zeichen einer Zahl und das Runden einer Zahl.
Darstellen eines Int32 als Zeichenfolge
Der Int32 Typ bietet vollständige Unterstützung für Standard- und benutzerdefinierte numerische Formatzeichenfolgen. (Weitere Informationen finden Sie unter Formatierungstypen, Standard numerische Formatzeichenfolgen und benutzerdefinierte numerische Formatzeichenfolgen.)
Um einen Int32 Wert als integrale Zeichenfolge ohne führende Nullen zu formatieren, können Sie die parameterlose ToString() Methode aufrufen. Mithilfe des Formatbezeichners "D" können Sie auch eine angegebene Anzahl von führenden Nullen in die Zeichenfolgendarstellung einschließen. Mithilfe des N-Formatauszeichners können Sie Gruppentrennzeichen einschließen und die Anzahl der dezimalen Ziffern angeben, die in der Zeichenfolgendarstellung der Zahl angezeigt werden sollen. Mithilfe des Formatbezeichners "X" können Sie einen Int32 Wert als Hexadezimalzeichenfolge darstellen. Im folgenden Beispiel werden die Elemente in einem Array von Int32 Werten auf diese vier Arten formatiert.
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
let numbers = [| -1403; 0; 169; 1483104 |]
for number in numbers do
// Display value using default formatting.
printf $"{number,-8} --> "
// Display value with 3 digits and leading zeros.
printf $"{number,11:D3}"
// Display value with 1 decimal digit.
printf $"{number,13:N1}"
// Display value as hexadecimal.
printf $"{number,12:X2}"
// Display value with eight hexadecimal digits.
printfn $"{number,14:X8}"
// 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
Sie können auch einen Int32 Wert als binäre, oktale, dezimale oder hexadezimale Zeichenfolge formatieren, indem Sie die ToString(Int32, Int32) Methode aufrufen und die Basis als zweiten Parameter der Methode angeben. Im folgenden Beispiel wird diese Methode aufgerufen, um die binäre, oktale und hexadezimale Darstellung eines Arrays von ganzzahligen Werten anzuzeigen.
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
let numbers = [| -146; 11043; 2781913 |]
printfn $"""{"Value",8} {"Binary",32} {"Octal",11} {"Hex",10}"""
for number in numbers do
printfn $"{number,8} {Convert.ToString(number, 2),32} {Convert.ToString(number, 8),11} {Convert.ToString(number, 16),10}"
// 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
Arbeiten mit nicht dezimalen 32-Bit-Ganzzahlwerten
Zusätzlich zum Arbeiten mit einzelnen ganzzahligen Zahlen als Dezimalwerte können Sie Bitzeigervorgänge mit ganzzahligen Werten ausführen oder mit den binären oder hexadezimalen Darstellungen von ganzzahligen Werten arbeiten. Int32 Werte werden in 31 Bit dargestellt, wobei die 31-Sekunden-Bit als Zeichenbit verwendet werden. Positive Werte werden mithilfe von Sign-and-Magnitude-Darstellung dargestellt. Negative Werte befinden sich in der Ergänzungsdarstellung von zwei. Dies ist wichtig, wenn Sie bitweise Vorgänge auf Int32 Werten oder beim Arbeiten mit einzelnen Bits ausführen. Um einen numerischen, booleschen oder Vergleichsvorgang für alle zwei nicht dezimalen Werte auszuführen, müssen beide Werte dieselbe Darstellung verwenden.
Felder
MaxValue |
Stellt den größtmöglichen Wert von Int32 dar. Dieses Feld ist konstant. |
MinValue |
Stellt den kleinstmöglichen Wert von Int32 dar. Dieses Feld ist konstant. |
Methoden
Abs(Int32) |
Berechnet das Absolute eines Werts. |
Clamp(Int32, Int32, Int32) |
Klammert einen Wert auf einen inklusiven Mindest- und Maximalwert. |
CompareTo(Int32) |
Vergleicht diese Instanz mit einer angegebenen 32-Bit-Ganzzahl mit Vorzeichen und gibt eine Angabe über das Verhältnis der entsprechenden Werte zurück. |
CompareTo(Object) |
Vergleicht diese Instanz mit einem angegebenen Objekt und gibt eine Angabe über das Verhältnis der entsprechenden Werte zurück. |
CopySign(Int32, Int32) |
Kopiert das Zeichen eines Werts in das Zeichen eines anderen Werts. |
CreateChecked<TOther>(TOther) |
Erstellt eine Instanz des aktuellen Typs aus einem Wert, indem eine Überlaufausnahme für alle Werte ausgelöst wird, die außerhalb des repräsentativen Bereichs des aktuellen Typs liegen. |
CreateSaturating<TOther>(TOther) |
Erstellt eine Instanz des aktuellen Typs aus einem Wert, Sättigung aller Werte, die außerhalb des repräsentativen Bereichs des aktuellen Typs liegen. |
CreateTruncating<TOther>(TOther) |
Erstellt eine Instanz des aktuellen Typs aus einem Wert, die alle Werte abschneiden, die außerhalb des repräsentativen Bereichs des aktuellen Typs liegen. |
DivRem(Int32, Int32) |
Berechnet den Quotienten und Rest von zwei Werten. |
Equals(Int32) |
Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Int32-Wert ist. |
Equals(Object) |
Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist. |
GetHashCode() |
Gibt den Hashcode für diese Instanz zurück. |
GetTypeCode() | |
IsEvenInteger(Int32) |
Bestimmt, ob ein Wert eine gerade integrale Zahl darstellt. |
IsNegative(Int32) |
Bestimmt, ob ein Wert negativ ist. |
IsOddInteger(Int32) |
Bestimmt, ob ein Wert eine ungerade Integralnummer darstellt. |
IsPositive(Int32) |
Bestimmt, ob ein Wert positiv ist. |
IsPow2(Int32) |
Bestimmt, ob ein Wert eine Leistung von zwei ist. |
LeadingZeroCount(Int32) |
Berechnet die Anzahl der führenden Nullen in einem Wert. |
Log2(Int32) |
Berechnet das Protokoll2 eines Werts. |
Max(Int32, Int32) |
Vergleicht zwei Werte mit der Berechnung, die größer ist. |
MaxMagnitude(Int32, Int32) |
Vergleicht zwei Werte mit der Berechnung, die größer ist. |
Min(Int32, Int32) |
Vergleicht zwei Werte mit der Berechnung, die kleiner ist. |
MinMagnitude(Int32, Int32) |
Vergleicht zwei Werte mit der Berechnung, die kleiner ist. |
Parse(ReadOnlySpan<Char>, IFormatProvider) |
Analysiert einen Bereich von Zeichen in einen Wert. |
Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) |
Konvertiert die Spannendarstellung einer Zahl in einem angegebenen Stil und einem kulturspezifischen Format in die entsprechende 32-Bit-Ganzzahl mit Vorzeichen. |
Parse(String) |
Konvertiert die Zeichenfolgendarstellung einer Zahl in die entsprechende 32-Bit-Ganzzahl mit Vorzeichen. |
Parse(String, IFormatProvider) |
Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen kulturspezifischen Format in die entsprechende 32-Bit-Ganzzahl mit Vorzeichen. |
Parse(String, NumberStyles) |
Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen Stil in die entsprechende 32-Bit-Ganzzahl mit Vorzeichen. |
Parse(String, NumberStyles, IFormatProvider) |
Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen Stil und einem kulturspezifischen Format in die entsprechende 32-Bit-Ganzzahl mit Vorzeichen. |
PopCount(Int32) |
Berechnet die Anzahl von Bits, die in einem Wert festgelegt sind. |
RotateLeft(Int32, Int32) |
Dreht einen Wert nach einem bestimmten Betrag nach links. |
RotateRight(Int32, Int32) |
Dreht einen Wert nach rechts nach einem bestimmten Betrag. |
Sign(Int32) |
Berechnet das Zeichen eines Werts. |
ToString() |
Konvertiert den Wert dieser Instanz in die entsprechende Zeichenfolgendarstellung. |
ToString(IFormatProvider) |
Konvertiert den numerischen Wert dieser Instanz unter Berücksichtigung der angegebenen kulturabhängigen Formatierungsinformationen in die entsprechende Zeichenfolgendarstellung. |
ToString(String) |
Konvertiert den numerischen Wert dieser Instanz in die entsprechende Zeichenfolgendarstellung unter Berücksichtigung des angegebenen Formats. |
ToString(String, IFormatProvider) |
Konvertiert den numerischen Wert dieser Instanz unter Verwendung des angegebenen Formats und der angegebenen kulturabhängigen Formatierungsinformationen in die entsprechende Zeichenfolgendarstellung. |
TrailingZeroCount(Int32) |
Berechnet die Anzahl der nachgestellten Nullen in einem Wert. |
TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider) |
Versucht, den Wert der Instanz einer ganzen Zahl in die angegebene Zeichenspanne zu formatieren. |
TryParse(ReadOnlySpan<Char>, IFormatProvider, Int32) |
Versucht, einen Bereich von Zeichen in einen Wert zu analysieren. |
TryParse(ReadOnlySpan<Char>, Int32) |
Konvertiert die Spannendarstellung einer Zahl in einem angegebenen Stil und einem kulturspezifischen Format in die entsprechende 32-Bit-Ganzzahl mit Vorzeichen. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich abgeschlossen wurde. |
TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, Int32) |
Konvertiert die Spannendarstellung einer Zahl in einem angegebenen Stil und einem kulturspezifischen Format in die entsprechende 32-Bit-Ganzzahl mit Vorzeichen. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich abgeschlossen wurde. |
TryParse(String, IFormatProvider, Int32) | |
TryParse(String, Int32) |
Konvertiert die Zeichenfolgendarstellung einer Zahl in die entsprechende 32-Bit-Ganzzahl mit Vorzeichen. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich abgeschlossen wurde. |
TryParse(String, NumberStyles, IFormatProvider, Int32) |
Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen Stil und einem kulturspezifischen Format in die entsprechende 32-Bit-Ganzzahl mit Vorzeichen. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich abgeschlossen wurde. |
Explizite Schnittstellenimplementierungen
IBinaryInteger<Int32>.GetByteCount() |
Ruft die Anzahl der Bytes ab, die als Teil von TryWriteLittleEndian(Span<Byte>, Int32). |
IBinaryInteger<Int32>.GetShortestBitLength() |
Ruft die Länge in Bits der kürzesten beiden Ergänzungsdarstellung des aktuellen Werts ab. |
IBinaryInteger<Int32>.TryWriteBigEndian(Span<Byte>, Int32) |
Versucht, den aktuellen Wert im Big-End-Format auf einen bestimmten Bereich zu schreiben. |
IBinaryInteger<Int32>.TryWriteLittleEndian(Span<Byte>, Int32) |
Versucht, den aktuellen Wert in einem kleinen endischen Format in einen bestimmten Bereich zu schreiben. |
IComparable.CompareTo(Object) |
Vergleicht diese Instanz mit einem angegebenen Objekt und gibt eine Angabe über das Verhältnis der entsprechenden Werte zurück. |
IConvertible.GetTypeCode() | |
IConvertible.ToBoolean(IFormatProvider) |
Eine Beschreibung dieses Elements finden Sie unter ToBoolean(IFormatProvider). |
IConvertible.ToByte(IFormatProvider) |
Eine Beschreibung dieses Elements finden Sie unter ToByte(IFormatProvider). |
IConvertible.ToChar(IFormatProvider) |
Eine Beschreibung dieses Elements finden Sie unter ToChar(IFormatProvider). |
IConvertible.ToDateTime(IFormatProvider) |
Diese Konvertierung wird nicht unterstützt. Bei dem Versuch der Verwendung dieser Methode wird eine InvalidCastException ausgelöst. |
IConvertible.ToDecimal(IFormatProvider) |
Eine Beschreibung dieses Elements finden Sie unter ToDecimal(IFormatProvider). |
IConvertible.ToDouble(IFormatProvider) |
Eine Beschreibung dieses Elements finden Sie unter ToDouble(IFormatProvider). |
IConvertible.ToInt16(IFormatProvider) |
Eine Beschreibung dieses Elements finden Sie unter ToInt16(IFormatProvider). |
IConvertible.ToInt32(IFormatProvider) |
Eine Beschreibung dieses Elements finden Sie unter ToInt32(IFormatProvider). |
IConvertible.ToInt64(IFormatProvider) |
Eine Beschreibung dieses Elements finden Sie unter ToInt64(IFormatProvider). |
IConvertible.ToSByte(IFormatProvider) |
Eine Beschreibung dieses Elements finden Sie unter ToSByte(IFormatProvider). |
IConvertible.ToSingle(IFormatProvider) |
Eine Beschreibung dieses Elements finden Sie unter ToSingle(IFormatProvider). |
IConvertible.ToType(Type, IFormatProvider) |
Eine Beschreibung dieses Elements finden Sie unter ToType(Type, IFormatProvider). |
IConvertible.ToUInt16(IFormatProvider) |
Eine Beschreibung dieses Elements finden Sie unter ToUInt16(IFormatProvider). |
IConvertible.ToUInt32(IFormatProvider) |
Eine Beschreibung dieses Elements finden Sie unter ToUInt32(IFormatProvider). |
IConvertible.ToUInt64(IFormatProvider) |
Eine Beschreibung dieses Elements finden Sie unter ToUInt64(IFormatProvider). |
Gilt für
Threadsicherheit
Alle Elemente dieses Typs sind threadsicher. Elemente, die den Instanzstatus ändern möchten, geben tatsächlich eine neue Instanz zurück, die mit dem neuen Wert initialisiert wurde. Wie bei jedem anderen Typ muss das Lesen und Schreiben an eine freigegebene Variable, die eine Instanz dieses Typs enthält, durch eine Sperrung geschützt werden, um die Threadsicherheit zu gewährleisten.