Interview Question

Junior Programmer Interview

-Pune

Ubisoft

How to check if a number is divisible by 16 without using operator / or % ?

AnswerAdd Tags

Interview Answers

8 Answers

1

if(16>>4 == 0 ) True; else False

Sajal Guota on

0

If a number is divisible by 2^n, do bitwise right shift n times and then bitwise left shift n times to get back the same number.

Sunil on

1

should do using bit-wise operators

Sai Charan on

0

I will run a loop that'll subtract 16 from the number. If result is zero than it is divisible else if it goes less than zero than its is not.

Azad Pathak on

0

Bit wise right shift four times, if integer then divisible.

Anonymous on

0

for(int i=0;in) { break; } //number is not divisible by 16 //which will be decided by the flag } }

Dheeraj Mandal on

0

Sorry for that incompleted answer ! I want to say that simply use a loop upto n and multiply each number with 16 and store in a variable and then go for a check if it is matched by n or not. If matched then flag==true else break;

Dheeraj Mandal on

0

The above condition should be 1 instead of 0. if(16>>4 == 1 ) True; else False

Sajal Guota on

Add Answers or Comments

To comment on this, Sign In or Sign Up.