【发布时间】:2018-02-06 21:28:18
【问题描述】:
所以我不确定这是否是实现我最终目标的最简单方法,所以如果有人有更好的建议,请随时向我提出。我已经尝试在此处和 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?
【问题讨论】:
-
因为
t是0移动它仍然是0。问题不是很清楚。int bitVal[8]不在代码sn-p中,循环约束就是好奇的i < 3;。
标签: c arrays bitwise-operators