我需要在 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(使用前将#替换为@)