Tag: 除零

用常量expression式除以零

我的玩具编译器崩溃,如果我用一个常量expression式除以零: int x = 1 / 0; C和/或C ++标准允许这种行为吗?

无论结果如何,支持除零的最快整数除法是什么?

概要: 我正在寻找最快的方法来计算 (int) x / (int) y 没有得到y==0的exception。 相反,我只是想要一个任意的结果。 背景: 在对image processingalgorithm进行编码时,我经常需要除以(累加的)alpha值。 最简单的变体是整数算术的纯C代码。 我的问题是,我通常得到一个由零错误除alpha==0结果像素alpha==0 。 然而,这正是结果完全不重要的像素:我不关心alpha==0像素的颜色值。 细节: 我正在寻找像这样的东西: result = (y==0)? 0 : x/y; 要么 result = x / MAX( y, 1 ); x和y是正整数。 代码在嵌套循环中执行了很多次,所以我正在寻找一种方法来摆脱条件分支。 当y不超过字节范围时,我对解决scheme感到满意 unsigned char kill_zero_table[256] = { 1, 1, 2, 3, 4, 5, 6, 7, […] 255 }; […] result = […]

不能调零?

为什么X % 0是一个无效的expression式? 我一直认为X % 0应该等于X.既然你不能被零除,那么答案不应该是剩下的剩余,X(剩下的一切)?