JSFiddle - React, Tailwind, and code Playground

by KgomDr

JavaScript

const Endianness = new Uint8Array(new Uint32Array([0x12345678]).buffer)[0] === 0x78 ? "little" : "big";


const byte_to_bits = byte => {
    if (byte > 255 || byte < 0 || isNaN(byte)) throw new Error("Byte is smaller than 0 or bigger than 255.");
    const ret = new Array(8);

    for (let i = 0; i < 8; i++){
    		console.log(i, byte & (1 << i))
        ret[i] = (byte >> i & 1) === 1 ? 1 : 0;
    // if the least significant bit is placed last.
    }
    if (Endianness === "big")
        ret.reverse();
    return ret
}

console.log(byte_to_bits(5));