¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
¿Tiene comentarios adicionales?
Caracteres restantes: 1500
Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

BigInteger (Estructura)

Representa un entero con signo arbitrariamente grande.

Espacio de nombres:  System.Numerics
Ensamblado:  System.Numerics (en System.Numerics.dll)

[SerializableAttribute]
public struct BigInteger : IFormattable, 
	IComparable, IComparable<BigInteger>, IEquatable<BigInteger>

El tipo BigInteger expone los siguientes miembros.

  NombreDescripción
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsBigInteger(Byte[])Inicializa una nueva instancia de la estructura BigInteger utilizando los valores de una matriz de bytes.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsBigInteger(Decimal)Inicializa una nueva instancia de la estructura BigInteger utilizando un valor Decimal.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsBigInteger(Double)Inicializa una nueva instancia de la estructura BigInteger utilizando un valor de punto flotante de precisión doble.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsBigInteger(Int32)Inicializa una nueva instancia de la estructura BigInteger utilizando un valor entero de 32 bits con signo.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsBigInteger(Int64)Inicializa una nueva instancia de la estructura BigInteger utilizando un valor entero de 64 bits con signo.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsBigInteger(Single)Inicializa una nueva instancia de la estructura BigInteger utilizando un valor de punto flotante de precisión sencilla.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsBigInteger(UInt32)Inicializa una nueva instancia de la estructura BigInteger utilizando un valor entero de 32 bits sin signo.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsBigInteger(UInt64)Inicializa una nueva instancia de la estructura BigInteger con un valor entero de 64 bits sin signo.
Arriba

  NombreDescripción
Propiedad públicaCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsIsEvenIndica si el valor del objeto BigInteger actual es un número par.
Propiedad públicaCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsIsOneIndica si el valor del objeto BigInteger actual es BigInteger.One.
Propiedad públicaCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsIsPowerOfTwoIndica si el valor del objeto BigInteger actual es una potencia de dos.
Propiedad públicaCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsIsZeroIndica si el valor del objeto BigInteger actual es BigInteger.Zero.
Propiedad públicaMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsMinusOneObtiene un valor que representa menos uno (-1).
Propiedad públicaMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsOneObtiene un valor que representa el número uno (1).
Propiedad públicaCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsSignObtiene un número que indica el signo (negativo, positivo o cero) del objeto BigInteger actual.
Propiedad públicaMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsZeroObtiene un valor que representa el número 0 (cero).
Arriba

  NombreDescripción
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsAbsObtiene el valor absoluto de un objeto BigInteger.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsAddSuma dos valores BigInteger y devuelve el resultado.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsCompareCompara dos valores BigInteger y devuelve un entero que indica si el primer valor es menor, igual o mayor que el segundo.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsCompareTo(BigInteger)Compara esta instancia con una segunda estructura BigInteger y devuelve un entero que indica si el valor de esta instancia es menor, igual o mayor que el valor del objeto especificado.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsCompareTo(Int64)Compara esta instancia con un entero de 64 bits con signo y devuelve un entero que indica si el valor de esta instancia es menor, igual o mayor que el valor del entero de 64 bits con signo.
Método públicoCompareTo(Object)Compara esta instancia con un objeto especificado y devuelve un entero que indica si el valor de esta instancia es mayor, igual o menor que el valor del objeto especificado.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsCompareTo(UInt64)Compara esta instancia con un entero de 64 bits sin signo y devuelve un entero que indica si el valor de esta instancia es menor, igual o mayor que el valor del entero de 64 bits sin signo.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsDivideDivide un valor BigInteger por otro y devuelve el resultado.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsDivRemDivide un valor BigInteger por otro, devuelve el resultado y devuelve el resto en un parámetro de salida.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsEquals(BigInteger)Devuelve un valor que indica si la instancia actual y un objeto BigInteger especificado tienen el mismo valor.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsEquals(Int64)Devuelve un valor que indica si la instancia actual y un entero de 64 bits con signo tienen el mismo valor.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsEquals(Object)Devuelve un valor que indica si la instancia actual y un objeto especificado tienen el mismo valor. (Invalida a ValueType.Equals(Object)).
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsEquals(UInt64)Devuelve un valor que indica si la instancia actual y un entero de 64 bits sin signo tienen el mismo valor.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsGetHashCodeDevuelve el código hash del objeto BigInteger actual. (Invalida a ValueType.GetHashCode()).
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsGetType Obtiene el Type de la instancia actual. (Se hereda de Object).
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsGreatestCommonDivisorBusca el máximo común divisor de dos valores BigInteger.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsLog(BigInteger)Devuelve el logaritmo natural (en base e) de un número especificado.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsLog(BigInteger, Double)Devuelve el logaritmo de un número especificado en una base determinada.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsLog10Devuelve el logaritmo en base 10 de un número especificado.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsMaxDevuelve el mayor de dos valores BigInteger.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsMinDevuelve el menor de dos valores BigInteger.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsModPowRealiza una división de módulo en un número elevado a la potencia de otro número.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsMultiplyDevuelve el producto de dos valores BigInteger.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsNegateCrea el negativo de un valor BigInteger especificado.
Método públicoMiembro estáticoCompatible con .NET para aplicaciones de la Tienda WindowsParse(String)Convierte la representación en forma de cadena de un número en su BigInteger equivalente.
Método públicoMiembro estáticoCompatible con .NET para aplicaciones de la Tienda WindowsParse(String, NumberStyles)Convierte la representación de cadena de un número con un estilo especificado en su BigInteger equivalente.
Método públicoMiembro estáticoCompatible con .NET para aplicaciones de la Tienda WindowsParse(String, IFormatProvider)Convierte la representación en forma de cadena de un número con el formato específico de la referencia cultural indicada en su BigInteger equivalente.
Método públicoMiembro estáticoCompatible con .NET para aplicaciones de la Tienda WindowsParse(String, NumberStyles, IFormatProvider)Convierte la representación en forma de cadena de un número con el estilo y el formato específico de la referencia cultural que se hayan especificado en su BigInteger equivalente.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsPowEleva un valor BigInteger a la potencia del valor especificado.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsRemainderRealiza la división entera en dos valores BigInteger y devuelve el resto.
Método públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsSubtractResta un valor BigInteger de otro y devuelve el resultado.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsToByteArrayConvierte un valor BigInteger en una matriz de bytes.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsToString()Convierte el valor numérico del objeto BigInteger actual en su representación de cadena equivalente. (Invalida a ValueType.ToString()).
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsToString(IFormatProvider)Convierte el valor numérico del objeto BigInteger actual en su representación de cadena equivalente usando la información de formato específica de la referencia cultural indicada.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsToString(String)Convierte el valor numérico del objeto BigInteger actual en su representación de cadena equivalente con el formato especificado.
Método públicoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsToString(String, IFormatProvider)Convierte el valor numérico del objeto BigInteger actual en su representación de cadena equivalente usando el formato especificado y la información de formato específica de la referencia cultural.
Método públicoMiembro estáticoCompatible con .NET para aplicaciones de la Tienda WindowsTryParse(String, BigInteger)Intenta convertir la representación en forma de cadena de un número en su equivalente BigInteger y devuelve un valor que indica si la conversión tuvo éxito.
Método públicoMiembro estáticoCompatible con .NET para aplicaciones de la Tienda WindowsTryParse(String, NumberStyles, IFormatProvider, BigInteger)Intenta convertir la representación de cadena especificada de un número con un estilo específico y un formato específico de la referencia cultural en su BigInteger equivalente y devuelve un valor que indica si la conversión fue correcta.
Arriba

  NombreDescripción
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsAdditionSuma los valores de dos objetos BigInteger especificados.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsBitwiseAndRealiza una operación And bit a bit en dos valores BigInteger.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsBitwiseOrRealiza una operación Or bit a bit en dos valores BigInteger.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsDecrementDisminuye un valor BigInteger en 1.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsDivisionDivide un valor BigInteger especificado por otro valor BigInteger indicado utilizando división de enteros.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsEquality(BigInteger, Int64)Devuelve un valor que indica si un valor BigInteger y un valor entero long con signo son iguales.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsEquality(BigInteger, BigInteger)Devuelve un valor que indica si los valores de dos objetos BigInteger son iguales.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsEquality(BigInteger, UInt64)Devuelve un valor que indica si un valor BigInteger y un valor entero long sin signo son iguales.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsEquality(Int64, BigInteger)Devuelve un valor que indica si un valor entero long con signo y un valor BigInteger son iguales.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsEquality(UInt64, BigInteger)Devuelve un valor que indica si un valor entero long sin signo y un valor BigInteger son iguales.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsExclusiveOrRealiza una operación exclusiva Or (XOr) bit a bit en dos valores BigInteger.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsExplicit(BigInteger to Int32)Define una conversión explícita de un objeto BigInteger en un valor entero de 32 bits con signo.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsExplicit(BigInteger to Decimal)Define una conversión explícita de un objeto BigInteger en un valor Decimal.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsExplicit(BigInteger to Int16)Define una conversión explícita de un objeto BigInteger en un valor entero de 16 bits con signo.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsExplicit(BigInteger to SByte)Define una conversión explícita de un objeto BigInteger en un valor de 8 bits con signo.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsExplicit(BigInteger to UInt16)Define una conversión explícita de un objeto BigInteger en un valor entero de 16 bits sin signo.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsExplicit(BigInteger to UInt32)Define una conversión explícita de un objeto BigInteger en un valor entero de 32 bits sin signo.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsExplicit(BigInteger to Int64)Define una conversión explícita de un objeto BigInteger en un valor entero de 64 bits con signo.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsExplicit(BigInteger to Single)Define una conversión explícita de un objeto BigInteger en un valor de punto flotante de precisión sencilla.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsExplicit(BigInteger to Double)Define una conversión explícita de un objeto BigInteger en un valor Double.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsExplicit(BigInteger to UInt64)Define una conversión explícita de un objeto BigInteger en un valor entero de 64 bits sin signo.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsExplicit(BigInteger to Byte)Define una conversión explícita de un objeto BigInteger en un valor de byte sin signo.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsExplicit(Decimal to BigInteger)Define una conversión explícita de un objeto Decimal en un valor BigInteger.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsExplicit(Double to BigInteger)Define una conversión explícita de un valor Double en un valor BigInteger.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsExplicit(Single to BigInteger)Define una conversión explícita de un objeto Single en un valor BigInteger.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsGreaterThan(BigInteger, Int64)Devuelve un valor que indica si un valor BigInteger es mayor que un valor entero de 64 bits con signo.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsGreaterThan(BigInteger, BigInteger)Devuelve un valor que indica si un valor BigInteger es mayor que otro valor BigInteger.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsGreaterThan(BigInteger, UInt64)Devuelve un valor que indica si un valor BigInteger es mayor que un entero de 64 bits sin signo.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsGreaterThan(Int64, BigInteger)Devuelve un valor que indica si un entero de 64 bits con signo es mayor que un valor BigInteger.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsGreaterThan(UInt64, BigInteger)Devuelve un valor que indica si un valor BigInteger es mayor que un entero de 64 bits sin signo.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsGreaterThanOrEqual(BigInteger, Int64)Devuelve un valor que indica si un valor BigInteger es mayor o igual que un valor entero de 64 bits con signo.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsGreaterThanOrEqual(BigInteger, BigInteger)Devuelve un valor que indica si un valor BigInteger es mayor o igual que otro valor BigInteger.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsGreaterThanOrEqual(BigInteger, UInt64)Devuelve un valor que indica si un valor BigInteger es mayor o igual que un valor entero de 64 bits sin signo.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsGreaterThanOrEqual(Int64, BigInteger)Devuelve un valor que indica si un entero de 64 bits con signo es mayor o igual que un valor BigInteger.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsGreaterThanOrEqual(UInt64, BigInteger)Devuelve un valor que indica si un entero de 64 bits sin signo es mayor o igual que un valor BigInteger.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsImplicit(Byte to BigInteger)Define una conversión implícita de un byte sin signo en un valor BigInteger.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsImplicit(Int16 to BigInteger)Define una conversión implícita de un entero de 16 bits con signo en un valor BigInteger.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsImplicit(Int32 to BigInteger)Define una conversión implícita de un entero de 32 bits con signo en un valor BigInteger.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsImplicit(Int64 to BigInteger)Define una conversión implícita de un entero de 64 bits con signo en un valor BigInteger.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsImplicit(SByte to BigInteger)Define una conversión implícita de un entero de 8 bits con signo en un valor BigInteger.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsImplicit(UInt16 to BigInteger)Define una conversión implícita de un entero de 16 bits sin signo en un valor BigInteger.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsImplicit(UInt32 to BigInteger)Define una conversión implícita de un entero de 32 bits sin signo en un valor BigInteger.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsImplicit(UInt64 to BigInteger)Define una conversión implícita de un entero de 64 bits sin signo en un valor BigInteger.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsIncrementAumenta un valor BigInteger en 1.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsInequality(BigInteger, Int64)Devuelve un valor que indica si un valor BigInteger y un valor de 64 bits con signo no son iguales.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsInequality(BigInteger, BigInteger)Devuelve un valor que indica si dos objetos BigInteger tienen valores diferentes.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsInequality(BigInteger, UInt64)Devuelve un valor que indica si un valor BigInteger y un valor de 64 bits sin signo no son iguales.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsInequality(Int64, BigInteger)Devuelve un valor que indica si un entero de 64 bits con signo y un valor BigInteger no son iguales.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsInequality(UInt64, BigInteger)Devuelve un valor que indica si un entero de 64 bits sin signo y un valor BigInteger no son iguales.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsLeftShiftDesplaza un valor BigInteger un número especificado de bits a la izquierda.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsLessThan(BigInteger, Int64)Devuelve un valor que indica si un valor BigInteger es menor que un entero de 64 bits con signo.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsLessThan(BigInteger, BigInteger)Devuelve un valor que indica si un valor BigInteger es menor que otro valor BigInteger.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsLessThan(BigInteger, UInt64)Devuelve un valor que indica si un valor BigInteger es menor que un entero de 64 bits sin signo.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsLessThan(Int64, BigInteger)Devuelve un valor que indica si un entero de 64 bits con signo es menor que un valor BigInteger.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsLessThan(UInt64, BigInteger)Devuelve un valor que indica si un entero de 64 bits sin signo es menor que un valor BigInteger.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsLessThanOrEqual(BigInteger, Int64)Devuelve un valor que indica si un valor BigInteger es menor o igual que un entero de 64 bits con signo.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsLessThanOrEqual(BigInteger, BigInteger)Devuelve un valor que indica si un valor BigInteger es menor o igual que otro valor BigInteger.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsLessThanOrEqual(BigInteger, UInt64)Devuelve un valor que indica si un valor BigInteger es menor o igual que un entero de 64 bits sin signo.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsLessThanOrEqual(Int64, BigInteger)Devuelve un valor que indica si un entero de 64 bits con signo es menor o igual que un valor BigInteger.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsLessThanOrEqual(UInt64, BigInteger)Devuelve un valor que indica si un entero de 64 bits sin signo es menor o igual que un valor BigInteger.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsModulusDevuelve el resto que se obtiene al dividir dos valores BigInteger especificados.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsMultiplyMultiplica dos valores BigInteger especificados.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsOnesComplementDevuelve el complemento a unos bit a bit de un valor BigInteger.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsRightShiftDesplaza un valor BigInteger un número especificado de bits a la derecha.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsSubtractionResta un valor BigInteger de otro valor BigInteger.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsUnaryNegationCrea el negativo de un valor BigInteger especificado.
Operador públicoMiembro estáticoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsUnaryPlusDevuelve el valor del operando BigInteger. (El signo del operando no cambia.)
Arriba

  NombreDescripción
Implementación explícita de interfacesMétodo privadoCompatible con Biblioteca de clases portableCompatible con .NET para aplicaciones de la Tienda WindowsIComparable.CompareToCompara la instancia actual con otro objeto del mismo tipo y devuelve un entero que indica si la posición de la instancia actual es anterior, posterior o igual que la del otro objeto en el criterio de ordenación.
Arriba

El tipo BigInteger es un tipo inmutable que representa un entero arbitrariamente grande cuyo valor en teoría no tiene ningún límite superior ni inferior. Los miembros del tipo BigInteger parangonan estrechamente aquéllos de otros tipos enteros (los tipos Byte, Int16, Int32, Int64, SByte, UInt16, UInt64 y UInt32). Este tipo difiere de otros tipos enteros de .NET Framework, que tiene un intervalo indicado por las propiedades MinValue y MaxValue.

NotaNota

Dado que el tipo BigInteger es inmutable (vea Mutabilidad y la estructura BigInteger) y, debido a que no tiene ningún límite superior o inferior, se puede producir un OutOfMemoryException para cualquier operación que haga que un valor BigInteger se vuelva demasiado grande.

Crear instancias de un objeto BigInteger

Puede crear instancias de un objeto BigInteger de varias formas:

  • Puede utilizar la palabra clave new y proporcionar cualquier valor integral o de punto flotante como un parámetro para el constructor BigInteger. (Se truncan los valores de coma flotante antes de estar asignados a BigInteger.) En el siguiente ejemplo se muestra cómo utilizar la palabra clave new para crear una instancia de BigInteger.

    
    BigInteger bigIntFromDouble = new BigInteger(179032.6541);
    Console.WriteLine(bigIntFromDouble);
    BigInteger bigIntFromInt64 = new BigInteger(934157136952);
    Console.WriteLine(bigIntFromInt64);
    // The example displays the following output:
    //   179032
    //   934157136952		
    
    
    
  • Puede declarar una variable BigInteger y asignarle un valor como lo haría con cualquier tipo numérico, siempre que ese valor sea un valor entero. En el ejemplo siguiente se utiliza la asignación para crear un valor BigInteger de Int64.

    
    long longValue = 6315489358112;      
    BigInteger assignedFromLong = longValue;
    Console.WriteLine(assignedFromLong);
    // The example displays the following output:
    //   6315489358112
    
    
    
  • Puede asignar un valor decimal o de punto flotante a un objeto BigInteger si convierte el valor o lo convierte primero. En el siguiente ejemplo se realiza una conversión de tipos (en C#) explícitamente o se convierte (en Visual Basic) un valor Double y un valor Decimal en un BigInteger.

    
    BigInteger assignedFromDouble = (BigInteger) 179032.6541;
    Console.WriteLine(assignedFromDouble);   
    BigInteger assignedFromDecimal = (BigInteger) 64312.65m;      
    Console.WriteLine(assignedFromDecimal);
    // The example displays the following output:
    //   179032
    //   64312      
    
    
    

Estos métodos le habilitan para crear instancias de un objeto BigInteger cuyo valor únicamente se encuentra en el intervalo de uno de los tipos numéricos existentes. Puede crear instancias de un objeto BigInteger cuyo valor puede superar el intervalo de los tipos numéricos existentes en una de las tres formas siguientes:

  • Puede usar la palabra clave new y proporcionar una matriz de bytes de cualquier tamaño al constructor BigInteger.BigInteger. Por ejemplo:

    
    byte[] byteArray = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0};
    BigInteger newBigInt = new BigInteger(byteArray);
    Console.WriteLine("The value of newBigInt is {0} (or 0x{0:x}).", newBigInt);    
    // The example displays the following output:
    //   The value of newBigInt is 4759477275222530853130 (or 0x102030405060708090a).
    
    
    
  • Puede llamar a los métodos Parse u TryParse para convertir la representación de cadena de un número en BigInteger. Por ejemplo:

    
    string positiveString = "91389681247993671255432112000000";
    string negativeString = "-90315837410896312071002088037140000";
    BigInteger posBigInt = 0;
    BigInteger negBigInt = 0;
    
    try {
       posBigInt = BigInteger.Parse(positiveString);
       Console.WriteLine(posBigInt);
    }
    catch (FormatException)
    {
       Console.WriteLine("Unable to convert the string '{0}' to a BigInteger value.", 
                         positiveString);
    }
    
    if (BigInteger.TryParse(negativeString, out negBigInt))
      Console.WriteLine(negBigInt);
    else
       Console.WriteLine("Unable to convert the string '{0}' to a BigInteger value.", 
                          negativeString);
    
    // The example displays the following output:
    //   9.1389681247993671255432112E+31
    //   -9.0315837410896312071002088037E+34
    
    
    
  • Puede llamar a un método static (en Visual Basic Shared) BigInteger que realiza alguna operación en una expresión numérica y devuelve un resultado BigInteger calculado. En el siguiente ejemplo se hace esto elevando al cubo UInt64.MaxValue y asignando el resultado a BigInteger.

    
    BigInteger number = BigInteger.Pow(UInt64.MaxValue, 3);
    Console.WriteLine(number);
    // The example displays the following output:
    //    6277101735386680762814942322444851025767571854389858533375
    
    
    

El valor sin inicializar de BigInteger es Zero.

Realizar operaciones en valores BigInteger

Puede usar una instancia BigInteger de la misma forma que usa cualquier otro tipo entero. BigInteger sobrecarga a los operadores numéricos estándar para permitirle realizar operaciones matemáticas básicas como suma, resta, división, multiplicación, negación y negación unaria. También puede utilizar los operadores numéricos estándar para comparar dos valores BigInteger entre sí. Como los otros tipos enteros, BigInteger también admite el uso de los operadores de desplazamiento izquierdo y derecho And, Or, XOr bit a bit. Para los idiomas que no admiten a los operadores personalizados, la estructura BigInteger proporciona también los métodos equivalentes para realizar las operaciones matemáticas. Estas clases incluyen Add, Divide, Multiply, Negate y Subtract, y otras muchas.

Muchos miembros de la estructura BigInteger se corresponden directamente con miembros de otros tipos enteros. Además, BigInteger agrega miembros como los siguientes:

  • Sign , que devuelve un valor que indica el signo de un valor BigInteger.

  • Abs , que devuelve el valor absoluto de un valor BigInteger.

  • DivRem , que devuelve el cociente y el resto de una operación de división.

  • GreatestCommonDivisor , que devuelve el máximo común divisor de dos valores BigInteger.

Muchos de estos miembros adicionales se corresponden con los miembros de la clase Math, que proporciona la funcionalidad para trabajar con los tipos numéricos primitivos.

Mutabilidad y la estructura BigInteger

En el siguiente ejemplo se crean instancias de un objeto BigInteger y, a continuación, se incrementa su valor por uno.


BigInteger number = BigInteger.Multiply(Int64.MaxValue, 3);
number++;
Console.WriteLine(number);


Aunque este ejemplo parece modificar el valor del objeto existente, este no es el caso. Los objetos BigInteger son inmutables, lo que significa que internamente Common Language Runtime crea en realidad un nuevo objeto BigInteger y le asigna un valor una unidad mayor que su valor anterior. Este nuevo objeto se devuelve al llamador.

NotaNota

Los otros tipos numéricos en .NET Framework también son inmutables. Sin embargo, como el tipo BigInteger no tiene ningún límite superior ni inferior, sus valores pueden llegar a ser sumamente grandes y tener un impacto mensurables en el rendimiento.

Aunque este proceso es transparente para el llamador, incurre en una reducción del rendimiento. En algunos casos, sobre todo cuando las operaciones repetidas se realizan en un bucle en valores BigInteger muy grandes, esa reducción del rendimiento puede ser significativa. Por ejemplo, en el siguiente ejemplo, una operación se realiza repetidamente hasta un millón de veces y un valor BigInteger se incrementa por en uno cada vez que la operación tiene éxito.


BigInteger number = Int64.MaxValue ^ 5;
int repetitions = 1000000;
// Perform some repetitive operation 1 million times.
for (int ctr = 0; ctr <= repetitions; ctr++)
{
   // Perform some operation. If it fails, exit the loop.
   if (! SomeOperationSucceeds()) break;
   // The following code executes if the operation succeeds.
   number++;
}


En este tipo de caso, puede mejorar el rendimiento realizando todos los trabajos intermedios en una variable Int32. A continuación, el valor final de la variable puede asignarse al objeto BigInteger cuando el bucle sale. Esto se muestra en el ejemplo siguiente.


BigInteger number = Int64.MaxValue ^ 5;
int repetitions = 1000000;
int actualRepetitions = 0;
// Perform some repetitive operation 1 million times.
for (int ctr = 0; ctr <= repetitions; ctr++)
{
   // Perform some operation. If it fails, exit the loop.
   if (! SomeOperationSucceeds()) break;
   // The following code executes if the operation succeeds.
   actualRepetitions++;
}
number += actualRepetitions;


Trabajar con matrices de bytes y cadenas hexadecimales

Si convierte los valores BigInteger en matrices de bytes, o si convierte las matrices de bytes en los valores BigInteger, debe considerar el orden de bytes. La estructura BigInteger espera los bytes individuales en una matriz de bytes para aparecer en orden little-endian (es decir, los bytes del orden más bajo del valor preceden a los bytes del orden más alto). Puede aplicar un valor BigInteger de ida y vuelta llamando al método ToByteArray y después pasando la matriz de bytes resultante al constructor BigInteger(Byte[]), como se muestra en el ejemplo siguiente.


BigInteger number = BigInteger.Pow(Int64.MaxValue, 2);     
Console.WriteLine(number);

// Write the BigInteger value to a byte array.
byte[] bytes = number.ToByteArray();

// Display the byte array.
foreach (byte byteValue in bytes)
   Console.Write("0x{0:X2} ", byteValue);
Console.WriteLine();

// Restore the BigInteger value from a Byte array.
BigInteger newNumber = new BigInteger(bytes);
Console.WriteLine(newNumber);
// The example displays the following output:
//    8.5070591730234615847396907784E+37
//    0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0x3F
//    
//    8.5070591730234615847396907784E+37


Para crear instancias de un valor BigInteger de una matriz de bytes que representa un valor de algún otro tipo entero, puede pasar el valor integral al método BitConverter.GetBytes y, a continuación, pasa la matriz de bytes resultante al constructor BigInteger(Byte[]). En el siguiente ejemplo se crean instancias de un valor BigInteger de una matriz de bytes que representa un valor Int16.


short originalValue = 30000;
Console.WriteLine(originalValue);

// Convert the Int16 value to a byte array.
byte[] bytes = BitConverter.GetBytes(originalValue);

// Display the byte array.
foreach (byte byteValue in bytes)
   Console.Write("0x{0} ", byteValue.ToString("X2"));
Console.WriteLine();

// Pass byte array to the BigInteger constructor.
BigInteger number = new BigInteger(bytes);
Console.WriteLine(number);
// The example displays the following output:
//       30000
//       0x30 0x75
//       30000


La estructura BigInteger supone que los valores negativos están almacenados usando dos representaciones del complemento. Dado que la estructura BigInteger representa un valor numérico sin longitud fija, el constructor BigInteger(Byte[]) siempre interpreta el bit más significativo del último byte en la matriz como un bit de signo. Para evitar que el constructor BigInteger(Byte[]) confunda la representación complementaria de dos de un valor negativo y la representación de signo y magnitud de un valor positivo, los valores positivos en los que se establecería el bit más significativo del último byte en la matriz de bytes normalmente sería un conjunto que debe incluir un byte adicional cuyo valor es 0. Por ejemplo, 0xC0 0xBD 0xF0 0xFF es la representación hexadecimal en little-endian de -1.000.000 o 4.293.967.296. Dado que el bit más significativo del último byte en esta matriz está activado, el constructor BigInteger(Byte[]) interpretaría el valor de la matriz de bytes como -1.000.000. Para crear instancias de un BigInteger cuyo valor es positivo, se debe pasar al constructor una matriz de bytes cuyos elementos son 0xC0 0xBD 0xF0 0xFF 0x00. Debido a que Object es la clase base de todos los tipos de referencia en .NET Framework, este comportamiento es heredado por los tipos de referencia que no reemplazan el método ToString.


int negativeNumber = -1000000;
uint positiveNumber = 4293967296;

byte[] negativeBytes = BitConverter.GetBytes(negativeNumber); 
BigInteger negativeBigInt = new BigInteger(negativeBytes);
Console.WriteLine(negativeBigInt.ToString("N0"));

byte[] tempPosBytes = BitConverter.GetBytes(positiveNumber);
byte[] positiveBytes = new byte[tempPosBytes.Length + 1];
Array.Copy(tempPosBytes, positiveBytes, tempPosBytes.Length);
BigInteger positiveBigInt = new BigInteger(positiveBytes);
Console.WriteLine(positiveBigInt.ToString("N0")); 
// The example displays the following output:
//    -1,000,000
//    4,293,967,296      


Las matrices de bytes creadas por el método ToByteArray a partir de los valores positivos incluyen este byte del valor cero adicional. Por consiguiente, la estructura BigInteger puede aplicar correctamente acciones de ida y vuelta (round-trip) a valores asignándolos a matrices de bytes y, a continuación, restaurándolos desde esas matrices, como se muestra en el ejemplo siguiente.


BigInteger positiveValue = 15777216;
BigInteger negativeValue  = -1000000;

Console.WriteLine("Positive value: " + positiveValue.ToString("N0"));
byte[] bytes = positiveValue.ToByteArray();

foreach (byte byteValue in bytes)
   Console.Write("{0:X2} ", byteValue);
Console.WriteLine();
positiveValue = new BigInteger(bytes);
Console.WriteLine("Restored positive value: " + positiveValue.ToString("N0"));

Console.WriteLine();

Console.WriteLine("Negative value: " + negativeValue.ToString("N0"));
bytes = negativeValue.ToByteArray();
foreach (byte byteValue in bytes)
   Console.Write("{0:X2} ", byteValue);
Console.WriteLine();
negativeValue = new BigInteger(bytes);
Console.WriteLine("Restored negative value: " + negativeValue.ToString("N0"));
// The example displays the following output:
//       Positive value: 15,777,216
//       C0 BD F0 00
//       Restored positive value: 15,777,216
//       
//       Negative value: -1,000,000
//       C0 BD F0
//       Restored negative value: -1,000,000


Sin embargo, puede necesitar agregar este byte del valor cero adicional a las matrices de bytes que son creadas dinámicamente por el desarrollador de software o que devuelven los métodos que convierten los enteros sin signo en matrices de bytes (como BitConverter.GetBytes(UInt16), BitConverter.GetBytes(UInt32) y BitConverter.GetBytes(UInt64)).

Al analizar una cadena hexadecimal, los métodos BigInteger.Parse(String, NumberStyles, IFormatProvider) y BigInteger.Parse(String, NumberStyles) suponen que si se establece el bit más significativo del primer byte en la cadena, o si el primer dígito hexadecimal de la cadena representa los cuatro bits inferiores de un valor byte, el valor se representa utilizando la representación complementaria de dos. Por ejemplo, "FF01" y "F01" representan el valor decimal -255. Para diferenciar los valores positivos de los negativos, los valores positivos deberían incluir un cero inicial. Las sobrecargas pertinentes del método ToString, cuando se pasan a la cadena de formato "X", agregan un cero inicial a la cadena hexadecimal devuelta para los valores positivos. Esto lo posibilita realizar acciones de ida y vuelta de los valores BigInteger utilizando los métodos Parse y ToString, como se muestra en el ejemplo siguiente.


BigInteger negativeNumber = -1000000;
BigInteger positiveNumber  = 15777216;

string negativeHex = negativeNumber.ToString("X");
string positiveHex = positiveNumber.ToString("X");

BigInteger negativeNumber2, positiveNumber2;  
negativeNumber2 = BigInteger.Parse(negativeHex, 
                                   NumberStyles.HexNumber);
positiveNumber2 = BigInteger.Parse(positiveHex,
                                   NumberStyles.HexNumber);

Console.WriteLine("Converted {0:N0} to {1} back to {2:N0}.", 
                   negativeNumber, negativeHex, negativeNumber2);                                         
Console.WriteLine("Converted {0:N0} to {1} back to {2:N0}.", 
                   positiveNumber, positiveHex, positiveNumber2);                                         
// The example displays the following output:
//       Converted -1,000,000 to F0BDC0 back to -1,000,000.
//       Converted 15,777,216 to 0F0BDC0 back to 15,777,216.


Sin embargo, las cadenas hexadecimales creadas llamando a los métodos ToString de otros tipos enteros o sobrecargas del método ToString que incluyen un parámetro toBase no indican el signo del valor o el tipo de datos de origen de los que derivó la cadena hexadecimal. Al crear correctamente instancias de un valor BigInteger de este tipo de cadena, se requiere alguna lógica adicional. En el ejemplo siguiente se proporciona una forma posible de implementación.


using System;
using System.Globalization;
using System.Numerics;

public struct HexValue
{
   public int Sign;
   public string Value;
}

public class Example
{
   public static void Main()
   {
      uint positiveNumber = 4039543321;
      int negativeNumber = -255423975;

      // Convert the numbers to hex strings.
      HexValue hexValue1, hexValue2;
      hexValue1.Value = positiveNumber.ToString("X");
      hexValue1.Sign = Math.Sign(positiveNumber);

      hexValue2.Value = Convert.ToString(negativeNumber, 16);
      hexValue2.Sign = Math.Sign(negativeNumber);

      // Round-trip the hexadecimal values to BigInteger values.
      string hexString;
      BigInteger positiveBigInt, negativeBigInt;

      hexString = (hexValue1.Sign == 1 ? "0" : "") + hexValue1.Value;
      positiveBigInt = BigInteger.Parse(hexString, NumberStyles.HexNumber);      
      Console.WriteLine("Converted {0} to {1} and back to {2}.", 
                        positiveNumber, hexValue1.Value, positiveBigInt);

      hexString = (hexValue2.Sign == 1 ? "0" : "") + hexValue2.Value;
      negativeBigInt = BigInteger.Parse(hexString, NumberStyles.HexNumber);      
      Console.WriteLine("Converted {0} to {1} and back to {2}.", 
                        negativeNumber, hexValue2.Value, negativeBigInt);
   }
}
// The example displays the following output:
//       Converted 4039543321 to F0C68A19 and back to 4039543321.
//       Converted -255423975 to f0c68a19 and back to -255423975.


.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4

.NET Framework Client Profile

Compatible con: 4

Biblioteca de clases portable

Compatible con: Biblioteca de clases portable

.NET para aplicaciones de la Tienda Windows

Compatible con: Windows 8

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft