Question 1
What is the return value of following function for arr[] = {9, 12, 2, 11, 2, 2, 10, 9, 12, 10, 9, 11, 2} and n is size of this array.
int fun(int arr[], int n) {
int x = arr[0];
for (int i = 1; i < n; i++)
x = x ^ arr[i];
return x;
}
int fun(int arr[], int n)
{
int x = arr[0];
for (int i = 1; i < n; i++)
x = x ^ arr[i];
return x;
}
public int fun(int[] arr) {
int x = arr[0];
for (int i = 1; i < arr.length; i++)
x = x ^ arr[i];
return x;
}
def fun(arr):
x = arr[0]
for i in range(1, len(arr)):
x ^= arr[i]
return x
function fun(arr) {
let x = arr[0];
for (let i = 1; i < arr.length; i++)
x ^= arr[i];
return x;
}
0
9
12
2
Question 2
What does the following C expression do? x = (x<<1) + x + (x>>1);
Multiplies an integer with 7
Multiplies an integer with 3.5
Multiplies an integer with 3
Multiplies an integer with 8
Question 3
What does the following expression do?
x = x & (x-1)
Sets all bits as 1
Makes x equals to 0
Turns of the rightmost set bit
Turns of the leftmost set bit
Question 4
Consider the following code snippet for checking whether a number is power of 2 or not.
/* Incorrect function to check if x is power of 2*/
bool isPowerOfTwo (unsigned int x)
{
return (!(x&(x-1)));
}
/* Incorrect function to check if x is power of 2*/
bool isPowerOfTwo (unsigned int x)
{
return (!(x&(x-1)));
}
// Incorrect function to check if x is power of 2
public static boolean isPowerOfTwo(unsigned int x) {
return (x & (x - 1)) == 0;
}
# Incorrect function to check if x is power of 2
def is_power_of_two(x):
return (x & (x - 1)) == 0
// Incorrect function to check if x is power of 2
function isPowerOfTwo(x) {
return (x & (x - 1)) === 0;
}
What is wrong with above function?
It does reverse of what is required
It works perfectly fine for all values of x.
It does not work for x = 0
It does not work for x = 1
Question 5
What is the output of the following code snippet?
#include <iostream>
using namespace std;
void fun(int& num, int k) { num &= (~(1 << k)); }
int main()
{
int num = 7;
int k = 1;
fun(num, k);
cout << num << endl;
return 0;
}
#include <stdio.h>
void fun(int* num, int k) { *num &= (~(1 << k)); }
int main() {
int num = 7;
int k = 1;
fun(&num, k);
printf("%d\n", num);
return 0;
}
public class Main {
public static void fun(int[] num, int k) { num[0] &= (~(1 << k)); }
public static void main(String[] args) {
int[] num = {7};
int k = 1;
fun(num, k);
System.out.println(num[0]);
}
}
def fun(num, k):
num[0] &= ~(1 << k)
num = [7]
k = 1
fun(num, k)
print(num[0])
function fun(num, k) {
num[0] &= ~(1 << k);
}
let num = [7];
let k = 1;
fun(num, k);
console.log(num[0]);
It will unset the all bits of num
It will clear all the bits of bits
It will unset the kth bit of num
None
Question 6
what will do the following code in bit manipulation?
int function(int n)
{
if (n % 4 == 0)
return n;
if (n % 4 == 1)
return 1;
if (n % 4 == 2)
return n + 1;
else
return 0;
}
int function(int n) {
if (n % 4 == 0)
return n;
if (n % 4 == 1)
return 1;
if (n % 4 == 2)
return n + 1;
else
return 0;
}
public int function(int n) {
if (n % 4 == 0)
return n;
if (n % 4 == 1)
return 1;
if (n % 4 == 2)
return n + 1;
else
return 0;
}
def function(n):
if n % 4 == 0:
return n
if n % 4 == 1:
return 1
if n % 4 == 2:
return n + 1
else:
return 0
function function(n) {
if (n % 4 === 0)
return n;
if (n % 4 === 1)
return 1;
if (n % 4 === 2)
return n + 1;
else
return 0;
}
It will return the last set bit in a number.
It will return the first set bit in a number.
It will xor of two numbers.
It will give the xor of numbers from 1 to N.
Question 7
Right shift(>>) and Left shift(<<) are equivalent to _____ by 2.
Multiply and divide
Divide and multiply
Addition and subtraction
Subtraction and addition
Question 8
You are given a list of 5 integers and these integers are in the range from 1 to 6. There are no duplicates in list. One of the integers is missing in the list. Which of the following expression would give the missing number. ^ is bitwise XOR operator. ~ is bitwise NOT operator. Let elements of list can be accessed as list[0], list[1], list[2], list[3], list[4]
list[0] ^ list[1] ^ list[2] ^ list[3] ^ list[4]
|list[0] ^ list[1] ^ list[2] ^ list[3] ^ list[4] ^ 1 ^ 2 ^ 3 ^ 4 ^ 5 ^ 6
list[0] ^ list[1] ^ list[2] ^ list[3] ^ list[4] ^ 1 ^ 2 ^ 3 ^ 4 ^ 5
~(list[0] ^ list[1] ^ list[2] ^ list[3] ^ list[4])
Question 9
If we want to invert all the bits of a number, then which bitwise operator should be used?
~
&
^
|
Question 10
What will the below code snippet do?
#include <iostream>
using namespace std;
int main()
{
int num = 5;
cout << (~num + 1) << endl;
return 0;
}
#include <stdio.h>
int main() {
int num = 5;
printf("%d\n", (~num + 1));
return 0;
}
public class Main {
public static void main(String[] args) {
int num = 5;
System.out.println(~num + 1);
}
}
num = 5
print(~num + 1)
let num = 5;
console.log(~num + 1);
It will print 2's complement of a number.
It will print 101.
It will print 1.s complement of a number.
None
There are 30 questions to complete.