Required is a function that can accept first argument as next number of arguments to be passed, where all next arguments are 64bit unsigned integers and find matching bits. You should be good enough on bit operations over 64bit integers, and have good knowledge of stdarg.h / var args var list.
Prototype of the function will be
int find_matching_N(int total, ... );
unsigned long long i1, i2, i3; or //unsigned __int64 i1, i2, i3;
int total_m = find_matching_N(3, i1, i2, i3 );
function will return total matching bits at the same position in all integers, either they are 0 or 1 if at same position they have same value return value is increased.
As it is just one function, please quote reasonable price, as it is not going to take more than couple of minutes for a hardcore programmer.
Let us know if you have any question.