Uma classe que representa um número inteiro de 64bits

Observações

A representação interna de um longo são os dois valores de 32bits assinados. Usamos pedaços de 32bits porque esses são o tamanho de inteiros nos quais o JavaScript executa operações de bits. Para operações como adição e multiplicação, dividimos cada número em pedaços de 16 bits, que podem ser facilmente multiplicados dentro da representação de ponto flutuante do JavaScript sem estouro ou mudança de sinal. Nos algoritmos abaixo, frequentemente reduzimos o caso negativo para o caso positivo negando a(s) entrada(s) e, em seguida, pós-processando o resultado. Observe que devemos sempre verificar especialmente se esses valores são MIN_VALUE (-2^63) porque -MIN_VALUE == MIN_VALUE (desde 2^63 não pode ser representado como um número positivo, ele transborda de volta para um negativo). Não lidar com esse caso geralmente resultaria em recursão infinita. Valores constantes comuns ZERTO, ONE, NEG_ONE, etc. são encontrados como propriedades estáticas nesta classe.

Construtores

  • Constrói um número inteiro de dois bits de 64 , dados seus valores mínimos e máximos de 32 bits como números inteiros assinados . Veja as funções from* abaixo para conhecer maneiras mais convenientes de construir Longs.

    As assinaturas aceitáveis são:

    • Longo(baixo, alto, sem sinal?)
    • Longo(grande, não assinado?)
    • Long(string, unsigned?)

    Parâmetros

    • Optional down: string | número | bigint

      Os bits inferiores 32 (assinados) do longo

    • Optional alta: número | booleano

      Os bits mais 32 (assinados) do longo

    • Optional não assinado: boolean

      Se não assinado ou não, o padrão é assinado

    Returns Long

Propriedades

__isLong__: true

Um indicador usado para determinar de forma confiável se um objeto é longo ou não.

_bsontype: "longo"
alta: número

Os 32 bits mais altos como um valor assinado.

baixo: número

Os 32 bits inferiores como valor assinado.

não assinado: booleano

Se não assinado ou não.

MAX_UNSIGNED_VALUE: Long

Valor máximo não assinado.

MAX_VALUE: Long

Valor máximo assinado.

MIN_VALOR: Long

Valor mínimo assinado.

NEG_ONE: Long

Assinou um negativo.

UM: Long

Um assinado.

DUAS_PWR_24: Long
UONE: Long

Um não assinado.

UZERO: Long

Zero não assinado.

Zero: Long

Assinou zero

Métodos

  • Retorna a soma deste e do Long especificado.

    Parâmetros

    Returns Long

  • Retorna a soma deste e do Long especificado.

    Parâmetros

    Returns Long

    Soma

  • Compara o valor deste Long com o especificado.

    Parâmetros

    Retorna 0 | 1 | -1

    0 se forem iguais, 1 se este for maior e -1 se o fornecido for maior

  • Retorna este comprimento dividido pelo especificado. O resultado é assinado se este Long estiver assinado ou não assinado se este Long não estiver assinado.

    Parâmetros

    Returns Long

    Quoeficiente

  • Testa se o valor deste Long é igual ao especificado.

    Parâmetros

    Retorna booleano

  • Este é um alias de Long.isZero

    Retorna booleano

  • Obtém os 32 bits superiores como um número inteiro assinado.

    Retorna número

  • Obtém os 32 bits mais altos como um número inteiro sem sinal.

    Retorna número

  • Obtém os bits 32 inferiores como um número inteiro assinado.

    Retorna número

  • Obtém os bits 32 inferiores como um número inteiro sem sinal.

    Retorna número

  • Obtém o número de bits necessários para representar o valor absoluto deste Long.

    Retorna número

  • Testa se o valor deste Long é maior que o especificado.

    Parâmetros

    Retorna booleano

  • Testa se o valor deste Long é maior ou igual ao especificado.

    Parâmetros

    Retorna booleano

  • Retorna a string

  • Testa se o valor deste Long é par.

    Retorna booleano

  • Testa se o valor deste Long é negativo.

    Retorna booleano

  • Testa se o valor deste Long é ímpar.

    Retorna booleano

  • Testa se o valor deste Long é positivo.

    Retorna booleano

  • Testa se o valor deste Long é igual a zero.

    Retorna booleano

  • Testa se o valor deste Long é menor que o especificado.

    Parâmetros

    Retorna booleano

  • Testa se o valor deste Long é menor ou igual ao especificado.

    Parâmetros

    Retorna booleano

  • Retorna este módulo Long especificado.

    Parâmetros

    Returns Long

  • Retorna o produto deste e do Long especificado.

    Parâmetros

    Returns Long

    produto

  • Este é um alias de Long.neGate

    Returns Long

  • Retorna a negação do valor deste longo.

    Returns Long

  • Retorna o bitwise NÃO deste Longo.

    Returns Long

  • Testa se o valor deste Long é diferente do especificado.

    Parâmetros

    Retorna booleano

  • Retorna o bitwise OR deste Longo e especificado.

    Parâmetros

    • outro: string | número | Longo

    Returns Long

  • Retorna este comprimento com bits deslocados para a esquerda pelo valor fornecido.

    Parâmetros

    • numBits: número | Longo

      Número de bits

    Returns Long

    Deslocado por muito tempo

  • Retorna este longo com bits aritmeticamente deslocados para a direita pelo valor fornecido.

    Parâmetros

    • numBits: número | Longo

      Número de bits

    Returns Long

    Deslocado por muito tempo

  • Retorna este comprimento com bits logicamente deslocados para a direita pelo valor fornecido.

    Parâmetros

    • numBits: número | Longo

      Número de bits

    Returns Long

    Deslocado por muito tempo

  • Este é um alias de Long.shiftLeft

    Parâmetros

    Returns Long

  • Este é um alias de Long.shiftRight

    Parâmetros

    Returns Long

  • Retorna a diferença deste e do Long especificado.

    Parâmetros

    Returns Long

    Diferença

  • Converte o Long para um BigInt (precisão arbitrária).

    Retorna o tamanho inteiro

  • Converte este Longo em sua representação de bytes.

    Parâmetros

    • Optional le: boolean

      Se little ou big endian, o padrão é big endian

    Retorna o número[]

    Representação de bytes

  • Converte este Longo em sua representação de bytes big endian.

    Retorna o número[]

    Representação de bytes big endian

  • Converte este Longo em sua representação de bytes little endian.

    Retorna o número[]

    Representação de bytes little endian

  • Parâmetros

    Retorna número | LongExtended

  • Converte o Longo para um número inteiro de 32 bits, supondo que seja um número inteiro 32 bits.

    Retorna número

  • Converte o Longo para a representação de ponto flutuante mais próxima deste valor (double, 53 mantisse de bits).

    Retorna número

  • Converte este longo para assinado.

    Returns Long

  • Converte o Longo em uma string escrita no radix especificado.

    Parâmetros

    • Optional radix: número

      Base (2-36), padrão para 10

    Retorna a string

    Lança

    RangeError Se radix estiver fora do intervalo

  • Converte este longo para não assinado.

    Returns Long

  • Retorna o XOR bitwise deste Long e do fornecido.

    Parâmetros

    • outro: string | número | Longo

    Returns Long

  • Retorna um Longo representando o valor fornecido, desde que seja um número finito. Caso contrário, zero é retornado.

    Parâmetros

    • valor: bigint

      O número em questão

    • Optional não assinado: boolean

      Se não assinado ou não, o padrão é assinado

    Returns Long

    O valor longo correspondente

  • Retorna um Longo que representa o número inteiro de 64 bits que vem da concatenação dos bits inferiores e superiores fornecidos. Supõe-se que cada um use 32 bits.

    Parâmetros

    • downBits: número

      Os bits 32 inferiores

    • HighBits: número

      Os 32 bits mais altos

    • Optional não assinado: boolean

      Se não assinado ou não, o padrão é assinado

    Returns Long

    O valor longo correspondente

  • Cria um Long a partir de sua representação de bytes.

    Parâmetros

    • bytes: número[]

      Representação de bytes

    • Optional não assinado: boolean

      Se não assinado ou não, o padrão é assinado

    • Optional le: boolean

      Se little ou big endian, o padrão é big endian

    Returns Long

    O valor longo correspondente

  • Cria um Long a partir de sua representação de byte big endian.

    Parâmetros

    • bytes: número[]

      Representação de bytes big endian

    • Optional não assinado: boolean

      Se não assinado ou não, o padrão é assinado

    Returns Long

    O valor longo correspondente

  • Cria um Long a partir de sua representação de byte little endian.

    Parâmetros

    • bytes: número[]

      Representação de bytes little endian

    • Optional não assinado: boolean

      Se não assinado ou não, o padrão é assinado

    Returns Long

    O valor longo correspondente

  • Parâmetros

    • documento: {
          $numberLong: string;
      }
      • $numberLongo: string
    • Optional opções: Opções

    Retorna número | Longo

  • Retorna um Longo representando o valor inteiro de 32 bits fornecido.

    Parâmetros

    • valor: número

      O número inteiro de 32 bits em questão

    • Optional não assinado: boolean

      Se não assinado ou não, o padrão é assinado

    Returns Long

    O valor longo correspondente

  • Retorna um Longo representando o valor fornecido, desde que seja um número finito. Caso contrário, zero é retornado.

    Parâmetros

    • valor: número

      O número em questão

    • Optional não assinado: boolean

      Se não assinado ou não, o padrão é assinado

    Returns Long

    O valor longo correspondente

  • Retorna uma representação longa da string fornecida, escrita usando a base especificada.

    Parâmetros

    • str: string

      A representação textual do Longo

    • Optional não assinado: boolean

      Se não assinado ou não, o padrão é assinado

    • Optional radix: número

      A base na qual o texto é escrito (2-36), o padrão é 10

    Returns Long

    O valor longo correspondente

  • Converte o valor especificado para um Long.

    Parâmetros

    • valid: string | número | {
          alto: número;
          baixo: número;
          não assinado?: boolean;
      }
    • Optional não assinado: boolean

      Se não assinado ou não, o padrão é assinado

    Returns Long

  • Testa se o objeto especificado é um Long.

    Parâmetros

    • valor: desconhecido

    O valorde retorno é Longo

Gerado usando TypeDoc