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?)
    • Longo(string, não assinado?)

    Parâmetros

    • Optional baixo: string | número | bigint

      Os bits inferiores 32 (assinados) do longo

    • Optional alto: número | boleano

      Os bits mais 32 (assinados) do longo

    • Optional não assinado: booleano

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

    Retorna longo

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

Quer não seja assinado ou não.

MAX_UNSIGNED_VALOR: Longo

Valor máximo não assinado.

MAX_VALUE: Longo

Valor máximo assinado.

MIN_VALOR: Longo

Valor mínimo assinado.

NEG_ONE: Longo

Negativo assinado.

UM: Longo

Um assinado.

DUAS_PWR_24: Longo
UONE: Longo

Um não assinado.

UZRO: Longo

Zero não assinado.

Zero: Longo

Assinou zero

Métodos

  • Retorna a soma deste e do Long especificado.

    Parâmetros

    Retorna longo

  • Retorna a soma deste e do Long especificado.

    Parâmetros

    Retorna longo

    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 longo dividido pelo especificado. O resultado é assinado se este Long estiver assinado ou não assinado se este Long não estiver assinado.

    Parâmetros

    Retorna longo

    Quoeficiente

  • Testa se o valor desse 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 desse Long é maior que o especificado.

    Parâmetros

    Retorna booleano

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

    Parâmetros

    Retorna booleano

  • Retorna a string

  • Testa se o valor desse Long é par.

    Retorna booleano

  • Testa se o valor deste Long é negativo.

    Retorna booleano

  • Testa se o valor desse 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 desse Long é menor ou igual ao especificado.

    Parâmetros

    Retorna booleano

  • Retorna este módulo Long especificado.

    Parâmetros

    Retorna longo

  • Retorna o produto deste e do Long especificado.

    Parâmetros

    Retorna longo

    produto

  • Este é um alias de Long.negate

    Retorna longo

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

    Retorna longo

  • Retorna o bitwise not deste longo.

    Retorna longo

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

    Parâmetros

    Retorna booleano

  • Retorna o bitwise OR deste longo e o especificado.

    Parâmetros

    • outro: string | número | Longo

    Retorna longo

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

    Parâmetros

    • numBits: número | Longo

      Número de bits

    Retorna longo

    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

    Retorna longo

    Deslocado por muito tempo

  • Retorna este Longo com bits logicamente deslocados para a direita pela quantidade fornecida.

    Parâmetros

    • numBits: número | Longo

      Número de bits

    Retorna longo

    Deslocado por muito tempo

  • Este é um alias de Long.shiftLeft

    Parâmetros

    Retorna longo

  • Retorna a diferença entre este e o Long especificado.

    Parâmetros

    Retorna longo

    Diferença

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

    Retorna bigint

  • Converte este longo para 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 para 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 Long para a representação de ponto flutuante mais próxima deste valor (duplo, 53 bit mantisse).

    Retorna número

  • Converte este longo em assinado.

    Retorna longo

  • Converte o Longo em uma string escrita na base especificada.

    Parâmetros

    • Optional base: número

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

    Retorna a string

    Lança

    RangeError se radix estiver fora do intervalo

  • Converte este longo em não assinado.

    Retorna longo

  • Retorna o XOR bitwise deste Long e do fornecido.

    Parâmetros

    • outro: string | número | Longo

    Retorna longo

  • 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: booleano

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

    Retorna longo

    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: booleano

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

    Retorna longo

    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: booleano

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

    • Optional le: boolean

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

    Retorna longo

    O valor longo correspondente

  • Cria um Longo a partir de sua representação de bytes big endian.

    Parâmetros

    • bytes: número[]

      Representação de bytes big endian

    • Optional não assinado: booleano

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

    Retorna longo

    O valor longo correspondente

  • Cria um Longo a partir de sua representação de bytes little endian.

    Parâmetros

    • bytes: número[]

      Representação de bytes little endian

    • Optional não assinado: booleano

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

    Retorna longo

    O valor longo correspondente

  • Parâmetros

    • doc: {
          $numberLong: string;
      }
      • $numberLong: 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: booleano

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

    Retorna longo

    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: booleano

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

    Retorna longo

    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: booleano

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

    • Optional base: número

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

    Retorna longo

    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: booleano

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

    Retorna longo

  • Testa se o objeto especificado é um Long.

    Parâmetros

    • valor: desconhecido

    O valorde retorno é longo

Gerado usando TypeDoc