目前,我正在学习位集合,并在一个段落,它说这个他们用绳子相互作用的bitset操作:C++新手就用绳子
“字符串和位集的编号惯例是负相关的:最右边的字符串中的字符 - 具有最高下标的字符 - 用于初始化位集中的低位位 - 下标为0的位。“
但是后来它们给出一个例子+示意图,它表示这样的:的str
string str("1111111000000011001101");
bitset<32> bitvec5(str, 5, 4); // 4 bits starting at str[5], 1100
值:
1 1 1 1 1(1 1 0 0)0 0 0 ... ...
值的bitvec5
:
... 0 0 0 0 0 0 0(1 1 0 0)
这个例子显示了它取最右边的位,并把因此,字符串中的最后一个元素是位集中的最后一个元素,而不是第一个元素。 ?
这是正确的(或者都错了吗?)
请记住,在一个二进制值(或任何其他基地的事情),最低的数字是在右边。 –