gpt4 book ai didi

c++ - 将值分配给来自多个 int 类型的位集

转载 作者:行者123 更新时间:2023-11-28 05:27:59 26 4
gpt4 key购买 nike

我正在使用以下列方式创建的位集

std::bitset<4> bitset;

我想知道如果我有整数,我怎么能给一个位集赋值值 A=0,B=1,C=1,D=0

我读到过我可以做到这一点

bitset.set(0, false);
bitset.set(1, true);
bitset.set(2, true);
bitset.set(3, false);

我想知道是否有更快的方法?最好是单个语句?

最佳答案

举例

std::bitset<4> bitset(6UL);

I wanted to know how I can assign a value to a bitset if I have ints with the values A=0,B=1,C=1,D=0 ?

如果你有多个变量(每个位一个变量)我想你能做的最好的就是分配每一位,你怎么知道

bitset.set(0, (A != 0));
bitset.set(1, (B != 0));
bitset.set(2, (C != 0));
bitset.set(3, (D != 0));

或者,更简单,

bitset.set(0, A);
bitset.set(1, B);
bitset.set(2, C);
bitset.set(3, D);

如果你真的想用一条语句初始化(如果变量只有 01 值),我想你可以使用 bitshift

std::bitset<4> bitset((A << 3)|(B << 2)|(C << 1)|D);

关于c++ - 将值分配给来自多个 int 类型的位集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40141463/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com