Implement a function getbits, that returns the(right adjusted) n bits that begin at position p of an integer. Assume bit position 0 is at the right end and that n and p are sensible positive values.
@shaunak yes bit shifting can be used to check divisibility by 3. you can do it using three state variables(in case of 3)for storing remainder information 0,1,2. Moving from left to right in bitwise representation of any number follow the rule below.
Given an integer n, write a function that returns count of trailing zeroes in n!. Examples: Input: n = 5 Output: 1 Factorial of 5 is 20 which has one trailing 0. Input: n = 20 Output: 4 Factorial of 20 is 2432902008176640000 which has 4 trailing zeroes. Input: n = 100 Output: 24
unsigned getbits(unsigned x, int p, int n)
ReplyDelete{
return (x >> (p+1-n)) & ~(~0 << n);
}
can bit shiftin be used to check divisibility by 3... just wondering.....
ReplyDelete@shaunak yes bit shifting can be used to check divisibility by 3.
ReplyDeleteyou can do it using three state variables(in case of 3)for storing remainder information 0,1,2.
Moving from left to right in bitwise representation of any number follow the rule below.
0(0) - 0
0(1) - 1
1(0) - 2
1(1) - 0
2(0) - 1
2(1) - 2
start state is 0 and final state is also 0.
make a state diagram and u will be able to find out if it is divisible by 3 or not.