gpt4 book ai didi

c - 按位宏有点不起作用

转载 作者:行者123 更新时间:2023-11-30 17:31:08 25 4
gpt4 key购买 nike

我有一个短变量(16 位)和一个索引(无符号字符)。我需要一个宏来返回变量data中的index。这就是我得到的:

#define GETBIT(data, index) data & 1 << index

以及我如何使用它:

unsigned char i;
short * twobytes = (short *) calloc(1, sizeof(short));
twobytes = ((char * )buffer + *currentIndex);
while (codeLength != 0)
{
i = GETBIT(code, codeLength--);
*twobytes = SETBIT(*twobytes, *currentBitIndex, i);
(*currentBitIndex)++;
if (*currentBitIndex == 8) {
(*currentIndex)++;
(*currentBitIndex) %= 8;
}
}

出于某种原因,在我的测试用例中,i 始终等于 0,而有时它应该等于 1

我做错了什么,应该如何解决?

谢谢。

最佳答案

没关系,谢谢,而不是 codeLength--我应该这样做--codeLength .

关于c - 按位宏有点不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24764669/

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