65 lines
1.0 KiB
Markdown
65 lines
1.0 KiB
Markdown
|
|
# Detect if two integers have opposite signs
|
|
# Արդյոք երկու ամբող թվերը նույն նշանն ունեն
|
|
|
|
```
|
|
bool oppositeSigns(int x, int y)
|
|
{
|
|
return ((x ^ y) < 0);
|
|
}
|
|
```
|
|
|
|
# Detect if integer can be devided on 8
|
|
# Արդյոք ամբողջ թիվը բաժանվո՞ւմ է 8-ի
|
|
|
|
```
|
|
bool div8(int x)
|
|
{
|
|
return ((x & 0x7) == 0);
|
|
}
|
|
```
|
|
|
|
# Turn off the rightmost set bit
|
|
```
|
|
int fun(unsigned int n)
|
|
{
|
|
return n & (n - 1);
|
|
}
|
|
```
|
|
|
|
# Compute modulus division by a power-of-2-number
|
|
```
|
|
unsigned int getModulo(unsigned int n,
|
|
unsigned int d)
|
|
{
|
|
return ( n & (d - 1) );
|
|
}
|
|
```
|
|
|
|
# Check for Integer Overflow
|
|
bool willOverflow(int a, int b)
|
|
{
|
|
int result = a + b;
|
|
if(a > 0 && b > 0 && result < 0)
|
|
return true;
|
|
if(a < 0 && b < 0 && result > 0)
|
|
return true;
|
|
return 0;
|
|
}
|
|
|
|
# Count set bits in an integer
|
|
unsigned int countSetBits(unsigned int n)
|
|
{
|
|
unsigned int count = 0;
|
|
while (n) {
|
|
count += n & 1;
|
|
n >>= 1;
|
|
}
|
|
return count;
|
|
}
|
|
|
|
|
|
|
|
|
|
|