要生成UFI 编号,我使用bitset
大小为 74 的 a。要执行 UFI 生成的第 2 步,我需要转换此数字:
9 444 732 987 799 592 368 290
(10000000000000000000000000000101000001000001010000011101011111100010100010)
进入:
DFSTTM62QN6DTV1
通过将第一个表示形式转换为基数 31 并从表中获取等效字符。
#define PAYLOAD_SIZE 74
// payload = binary of 9444732987799592368290
std::bitset<PAYLOAD_SIZE> bs_payload(payload);
/*
perform modulo 31 to obtain:
12(D), 14(F), 24(S), 25(T), 25, 19, 6, 2, 22, 20, 6, 12, 25, 27, 1
*/
有没有办法在不使用外部 BigInteger 库的情况下对我的位集执行转换?
编辑BigInteger
:即使干杯和hth,我终于完成了一堂课。- Alf的解决方案就像一个魅力