2012-09-20 125 views
4

嗨,我是新来的C++,所以我不知道这是否是一个非常愚蠢的问题。基本上我使用一个C++自定义操作项目来与我的MSI安装程序进行交互。我得到一个我的用户将输入的属性,它是一个整数。我需要确保这是8的倍数,我不知道如何去做这件事。显然,如果它可以除以8是一个倍数,但我不知道如何捕获是否有余数。任何帮助将不胜感激,甚至指向正确的方向。由于检查整数是8的倍数

+0

我想你只需要使用%操作符。 bool isMultipleOf8 =(value%8)== 0; –

+0

您需要模运算符('%'),如果它不为零,则不是8的倍数。 – Nim

+0

尝试'num%8 == 0' –

回答

16

使用 “模” 运营商,这给从余数:

if (n % 8 == 0) { 
    // n is a multiple of 8 
} 
5

使用 “模数” 或 “整数求余运算符” %

int a = ....; 
if (a % 8 == 0) { 
    // a is amultiple of 8 
} 
3

使用操作符%

if (num % 8 == 0) 
{ 
    // num is multple of 8 
} 
0

我看到有人正在使用位操作

bool f(int x){ 
return !(x & 7); 
} 

有人说这种方法有一些问题,但我不太确定。