C-“〜”是做什么的? (位操作,宏)

问题描述 投票:0回答:1

我不知道这个符号“〜”在C语言中的作用。任何帮助表示赞赏。

这是代码,它涉及的是一个既有数字又有数字的结构,大小只是该数字的字节数。如果大小的第一位为1,则应保存多个变量,并且大小应保存变量数。我现在不明白在get_size makro中“〜”是什么意思。

typedef struct {
  unsigned int size;            /* byte count of payload data */
  unsigned char data[1];        /* payload data, size as needed */
} *ObjRef;

#define MSB (1 << (8 * sizeof(unsigned int) - 1))
#define IS_PRIM(objRef) ((( objRef)->size & MSB) == 0)
#define GET_SIZE(objRef) ((objRef)->size & ~MSB)
c bit
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.