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.
You are given n real numbers in an array. A number in the array is called a decimal dominant if it occurs more than n/10 times in the array. Give an O(n) time algorithm to determine if the given array has a decimal dominant.
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.