Function: signedToHex()
signedToHex(
signedNumber,bits?):string
Write a signed integer as hexadecimal in two's complement, on a given width: bits / 4 uppercase digits, without prefix (-1 on 8 bits is 'FF', 5 on 16 bits is '0005'). The reverse of hexToSigned.
Parameters
signedNumber
number
The integer, within the width's range (-2^(bits-1) to 2^(bits-1) - 1). Beyond Number.MAX_SAFE_INTEGER the number has already lost its precision.
bits?
8 | 16 | 32 | 64 | 128
The width in bits: 8, 16, 32 (the default), 64 or 128.
Returns
string
The uppercase hexadecimal digits, exactly bits / 4 of them.
Throws
When signedNumber is not an integer (a fraction, NaN, Infinity), or is out of the width's range (128 or -129 on 8 bits).
Example
typescript
import {signedToHex} from 'lakutata/utils'
console.log(signedToHex(-1, 8), signedToHex(-128, 8), signedToHex(5, 16), signedToHex(-2))
//FF 80 0005 FFFFFFFE