Что то вроде такого
<body>
<script>
const sampleBits = 340282366920938463463374607431768211455n;
const toBinArr = (data) => {
const binstr = data.toString(2);
const len = binstr.length;
const arr = [];
let bb = 0;
let shift = 0;
for (let i=0; i<len; i++) {
const bit = binstr.at(-i-1);
if (bit === '1')
bb |= 1<<shift;
shift ++;
if (i%8 == 7) {
arr.unshift(bb);
bb=0;
shift = 0;
}
}
if (bb) arr.unshift(bb);
return arr;
}
const saveBitArray = function (data, filename) {
const binar = toBinArr(data);
const buffer = new ArrayBuffer(binar.length);
let bindata = new Uint8Array(buffer);
for (let i=0; i<binar.length; i++)
bindata[i] = binar[i];
const a = document.createElement("a");
a.download = filename;
document.body.append(a);
a.style = "display: none";
const blob = new Blob([buffer], {type: "octet/stream"});
const url = window.URL.createObjectURL(blob);
a.href = url;
a.click();
window.URL.revokeObjectURL(url);
a.remove();
};
saveBitArray(sampleBits, 'examplebin');
</script>
</body>