【发布时间】:2023-03-25 05:30:02
【问题描述】:
我需要将表示为字符串的非常大长度(可能大于Number.MAX_SAFE_INTEGER)的数字转换为以 256 为基数的数字系统。
像这样的:
console.log(convert_to_base_256("10")); //-> [10]
console.log(convert_to_base_256("1024"); //-> [4, 0]
console.log(convert_to_base_256("123456")); //-> [1, 226, 64]
我知道我可以使用大整数库,但它们中的大多数不支持基数超过 62 的基数转换。
这样做的最佳算法是什么?
【问题讨论】:
-
您可以使用一些大整数库将其转换为 base-16 数字,然后将每两个十六进制数字合并,这样您就可以获得 base-256 数字。
标签: javascript node.js math biginteger