有一个16位的整数,每4位为一个数,写函数求他们的和。 解释: 整数1101010110110111 和 1101+0101+1011+0111 感觉应该不难,当时对题理解的不是很清楚,所以写了一个函数,也不知道对不对。 疑问: 既然是16位的整数,1101010110110111是2进制的,那么函数参数怎么定义呢,请大虾指教。 答案:用十进制做参数,计算时按二进制考虑。 /* n就是16位的数,函数返回它的四个部分之和 */ char SumOfQuaters(unsigned short n) { char c = 0; int i = 4; do { c += n & 15; n = n >> 4; } while (--i);