gpt4 book ai didi

c - 将位数组移位到 Int 变量中

转载 作者:太空宇宙 更新时间:2023-11-04 06:52:54 25 4
gpt4 key购买 nike

所以我不确定这是否是实现我最终目标的最简单方法,所以如果有人有更好的建议,请随时向我提出。我已经尝试在此处和 Google 上进行搜索,但我似乎无法弄清楚如何执行此操作。

我有一个 int 值数组:int bitVal[8]

在我的程序中,这些值中的每一个都是 1 位,在一个字节内。我需要创建一个遍历每个值的循环,并将值移位到 int 变量中。

我试过这个作为一个简单的测试:

int t = 0;
int e = 1;
for(int i = 0; i < 3; i++) {
t <<= e;
printf("%d\n", t);
}

现在我知道如果我有一个字节值为 0000 0010 的变量我做var <<= 1;结果将是 0000 0100 .有没有办法设置它,使移位的位为 1 而不是 0?

最佳答案

你可能想多了。您可以一次移入一位,而不管它是 0 还是 1。它所需要的只是一个像这样的循环:

result = 0;
for (i=0; i<8; i++)
{
result = (result<<1) | bitVal[i];
}

关于c - 将位数组移位到 Int 变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48652249/

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