作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我需要在 C 中做 modulo 256 运算。所以我可以简单地做
unsigned char i;
i++;
代替
int i;
i=(i+1)%256;
最佳答案
没有。没有什么可以保证 unsigned char
有八位。使用 uint8_t
来自 <stdint.h>
,你会没事的。这需要一个支持 stdint.h
的实现: 任何 C99 兼容的编译器都可以,但旧的编译器可能不提供。
注意:无符号算术永远不会溢出,并且表现为“模 2^n”。有符号算术因未定义行为而溢出。
关于c - 算术溢出是否等同于模运算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21611184/
我是一名优秀的程序员,十分优秀!