2.3.2. Bit String to Integer
2.3.2. Bit String to Integer (比特串到整数)
bits2int 转换将 blen 比特的序列作为输入, 并输出小于 2^qlen 的非负整数。它由以下步骤组成:
-
序列首先被截断或扩展到长度 qlen:
- 如果 qlen < blen, 则保留 qlen 个最左边的比特, 并丢弃后续比特;
- 否则, qlen-blen 个比特 (值为零) 被添加到序列的左侧 (即, 在序列顺序中的输入比特之前)。
-
然后使用大端约定将结果序列转换为整数值: 如果输入比特称为 b_0 (最左边) 到 b_(qlen-1) (最右边), 则结果值为:
b_0*2^(qlen-1) + b_1*2^(qlen-2) + ... + b_(qlen-1)*2^0
bits2int 转换也可以用以下方式描述: 使用大端约定将输入比特序列 (长度为 blen) 转换为整数。然后, 如果 blen 大于 qlen, 则将结果整数除以 2 的 blen-qlen 次幂 (欧几里得除法: 余数被丢弃); 在大整数算术的许多软件实现中, 该除法等效于向右移位 blen-qlen 比特。