算术溢出相当于模运算吗?

2024-03-25

我需要在 C 中进行模 256 算术,那么我可以简单地做吗

unsigned char i;
i++;

代替

int i;
i=(i+1)%256;

不。没有什么可以保证unsigned char有八位。使用uint8_t from <stdint.h>,你会没事的。这需要一个支持的实现stdint.h:任何符合 C99 的编译器都可以,但较旧的编译器可能不提供。

注意:无符号算术永远不会溢出,并且表现为“模 2^n”。有符号算术溢出具有未定义的行为。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

算术溢出相当于模运算吗? 的相关文章

随机推荐