# Question is solved, please ignore this post

Why if **xor sum** of segment is equal to **sum** of segment, this condition is also satisfied for all **sub**segments of original segment?

I know that it's true when all bits in numbers are unique, but is it the only case when it's true, and if it is, then why?

Think about the binary representation of the bits. How is it possible that the xor sum is equal to the sum? If you figure that out, then it is obvious that this also holds for all subsegments.

My friend told me that it's satisfied when all bits are unique. Yes that makes sense and it's true. But is it the only case when

xorsum is equal tosum?Yes, of course. Assume that two numbers have the same bits set. Then in the xor sum these bits vaporize . And in the sum they add up 2

^{i}+ 2^{i}= 2^{i + 1}. So if any bits are equal, then then the xor sum is guaranteed smaller than the sum.Thank You very much, great explanation!

I'd also like to add that the there's a relation between the functions

`sum`

&`xor`

&`and`

That is

sum(a,b) =xor(a,b) + 2 *and(a,b)if looked closely at what Jakube said, if

then theira=b`xor`

would be0and all the bits that are both set (i.e. equals 1) in the binary representation of`a, b`

that the`xor`

function ignored becauseare accounted for by thexor(1, 1) = 0`and`

function becauseand thus this value is shifted to the left by 1 bit (that is they get multiplied by 2)and(1, 1) = 1Hope this helps you visualize what's going on.

OMG, I'm blown away, thank You!

World of bits is so amazing!

You're welcome :)

Here's a practice problem for that 635C - XOR Equation

Thank You :)

Auto comment: topic has been updated by ROIgold (previous revision, new revision, compare).