小编Flo*_*ian的帖子

位字段溢出

我可以相信每次访问位字段时C编译器都会模2 ^ n吗?或者是否有任何编译器/优化,如下所示的代码不会打印出溢出?

struct {
  uint8_t foo:2;
} G;

G.foo = 3;
G.foo++;

if(G.foo == 0) {
  printf("Overflow\n");
}
Run Code Online (Sandbox Code Playgroud)

先谢谢,弗洛里安

c overflow bit-fields

13
推荐指数
1
解决办法
3247
查看次数

标签 统计

bit-fields ×1

c ×1

overflow ×1