Learn more  » Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Bower components Debian packages RPM packages NuGet packages

skava / exotic   js

Repository URL to install this package:

Version: 2.0.8 

/ src / types / primitive / number / binary / fromNumberToBase64Binary.ts

// hehe: inverts each char
const toD = (d: number | string) => '' + +!+d

/**
 * @see https://www.mathworks.com/help/matlab/ref/int8.html
 * @see https://stackoverflow.com/questions/8482309/converting-javascript-integer-to-byte-array-and-back
 * @see https://stackoverflow.com/questions/9939760/how-do-i-convert-an-integer-to-binary-in-javascript
 * @see https://stackoverflow.com/questions/10936600/javascript-decimal-to-binary-64-bit
 */
function fromNumberTo64BitBinary(int: number): number | string {
  if (int >= 0) {
    return int.toString(2).padStart(64, '0')
  } else {
    return (-int - 1)
      .toString(2)
      .replace(/[01]/g, toD)
      .padStart(64, '1')
  }
}

export { fromNumberTo64BitBinary }
export default fromNumberTo64BitBinary