sum = (sum >> 16) + (sum & 0xffff)

en_7123's Avatar, Join Date: Feb 2010
Ambitious contributor
What does this statement mean in c
sum = (sum >> 16) + (sum & 0xffff)
Thanks
0
techgeek.in's Avatar, Join Date: Dec 2009
Skilled contributor
the above expression can be represented as:-

sum=sum/(2^16) +sum


becoz, (sum >> 16) means the sum divided by 2 to the power 16.. (refer to the meaning of bitwise left shift and bitwise right shidt)
and
(sum & 0xffff) itself gives sum.