@lucher/change-base
Version:
Una librería simple y eficiente para convertir números representados como arreglos de dígitos de una base a otra. Ideal para aplicaciones que requieren manipulación de números en diferentes bases, como sistemas de numeración no estándar, criptografía y má
15 lines • 444 B
text/typescript
export const changeBase = (
digits: number[],
base: number,
newBase: number
) => {
if(base === newBase) return digits;
let num = digits.reduce((acc, digit) => acc * base + digit, 0);
let newDigits: number[] = [];
while (num > 0) {
const rest = num % newBase;
newDigits.unshift(rest);
num = Math.floor(num / newBase);
}
return newDigits.length === 0 ? [0] : newDigits;
};