The jslong
- is a pure JavaScript implementation of Long class for representing a 64-bit two's-complement integer value.
$ npm install -save @modern-dev/jslong
import { Long } from '@modern-dev/jslong'; const val = Long.getMinValue().subtract(Long.fromInt(1024)).toString(16); console.log(val); // '7ffffffffffffc00'
/** * @param {number} low The low (signed) 32 bits of the long. * @param {number} high The high (signed) 32 bits of the long. */ constructor(low: number, high: number)
Method signature | Description |
---|---|
toInt(): number | The value, assuming it is a 32-bit integer. |
toNumber(): number | The closest floating-point representation to this value. |
isSafeInteger(): boolean | if can be exactly represented using number (i.e. abs(value) < 2^53). |
toString(radix?: number): string | The textual representation of this value. |
getHighBits(): number | The high 32-bits as a signed value. |
getLowBits(): number | The low 32-bits as a signed value. |
getLowBitsUnsigned(): number | The low 32-bits as an unsigned value. |
getNumBitsAbs(): number | Returns the number of bits needed to represent the absolute value of this Long. |
isZero(): boolean | Whether this value is zero. |
isNegative(): boolean | Whether this value is negative. |
isOdd(): boolean | Whether this value is odd. |
equals(other: Long): boolean | Whether this Long equals the other. |
notEquals(other: Long): boolean | Whether this Long does not equal the other. |
lessThan(other: Long): boolean | Whether this Long is less than the other. |
lessThanOrEqual(other: Long): boolean | Whether this Long is less than or equal to the other. |
greaterThan(other: Long): boolean | Whether this Long is greater than the other. |
greaterThanOrEqual(other: Long): boolean | Whether this Long is greater than or equal to the other. |
compare(other: Long): number | 0 if they are the same, 1 if the this is greater, and -1 if the given one is greater. |
negate(): Long | The negation of this value. |
add(other: Long): Long | The sum of this and the given Long. |
subtract(other: Long): Long | The difference of this and the given Long. |
multiply(other: Long): Long | The product of this and the other. |
div(other: Long): Long | This Long divided by the given one. |
modulo(other: Long): Long | This Long modulo the given one. |
not(): Long | The bitwise-NOT of this value. |
and(other: Long): Long | The bitwise-AND of this and the other. |
or(other: Long): Long | The bitwise-OR of this and the other. |
xor(other: Long): Long | The bitwise-XOR of this and the other. |
shiftLeft(numBits: number): Long | This shifted to the left by the given amount. |
shiftRight(numBits: number): Long | This shifted to the right by the given amount. |
shiftRightUnsigned(numBits: number): Long | This shifted to the right by the given amount, with zeros placed into the new leading bits. |
static fromInt(value: number): Long | The corresponding Long value. |
static fromNumber(value: number): Long | The corresponding Long value. |
static fromBits(lowBits: number, highBits: number): Long | The corresponding Long value. |
static fromString(str: string, opt_radix?: number): Long | The corresponding Long value. |
static isStringInRange(str: string, opt_radix: number): boolean | Whether the string is within the range of a Long. |
Licensed under the Apache License 2.0.
Based on the Long implementation for Google's Closure Library.
Copyright 2009 The Closure Library Authors. All Rights Reserved.
Copyright (c) 2020 Bohdan Shtepan
modern-dev.com · GitHub @virtyaluk · Twitter @virtyaluk