>-6ren">
gpt4 book ai didi

c - "Use of a signed integer operand with a binary bitwise operator"- 使用无符号短整型时

转载 作者:行者123 更新时间:2023-11-30 16:29:50 60 4
gpt4 key购买 nike

在以下 C 代码片段中,检查 16 位序列的前两位是否已设置:

bool is_pointer(unsigned short int sequence) {
return (sequence >> 14) == 3;
}

CLion 的 Clang-Tidy 向我发出“使用带有二进制按位运算符的有符号整数操作数”警告,我不明白为什么。 unsigned short 是否还不够无符号?

最佳答案

The code for this warning检查按位运算符的任一操作数是否有符号。引起警告的不是 sequence,而是 14,您可以通过附加 u< 使 14 无符号来缓解该问题 到最后。

(sequence >> 14u)

这个警告很糟糕。如Roland's answer描述,CLion 正在解决这个问题。

关于c - "Use of a signed integer operand with a binary bitwise operator"- 使用无符号短整型时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51582231/

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