Ensure that niether (b+a or b+c or a+c) are larger than your max datatype allows for. In other words in 16bit you can have XOR 255 and XOR (2^16 -256). This would be bit masking. Note the ^ is sometimes used for shifting instead of "to the power of".
Use XOR when trying to find the 2's Complement "the opposite of which bits have been set."
An example is 7 XOR 255 and may get you a byte of data for the number (248) 1111 1000 which is (15*16) + (8*1). However this is false if you dealing with 16 bit numbers 7 XOR 255 will be 0000 0000 1111 1000. Unless the byte order is swapped for 16 bit machines the same number might be stored as 1111 1000 0000 0000 which is very confusing. Like in 16 bit PCM data sounds. If you start multiplying these you might get unpredictable results especially if you start going beyond your MAX Integer value and mess around with "Casting" of datatypes. NEGATIVE 1 could be stored like 11111110
Search for "bit masking" and "two's complement" and karnaugh map.
What do you mean by not b? That it doesnt exist or that If B is true !B is false but do you mean the 2's complement? In order to find the twos complement you need all the bits to be set or 1s. You can do that with OR X where X has 1's for every bit. to set bits and AND0 to clear them.
Usually you need to know the number of bits used in your data type. And how negative numbers are stored in computers specifically your computer or raspberry pi or arduino or arm or motorolla processor or .... foobar named machine.
This technique is more common in low level programming "Assembly Languages".
Note: In decmial numbers we can multiply by 10 to append a zero in binary thats like multiplying by 2 and called a shift. If your left hand is in binary consider it times 16. So if you multiply a by b you could be shifting and so I disagree with the other answers on this page.
Back to 7 XOR 255 if you multiply both by 2 you would get problems 1110 XOR 1 1111 1110 this might set an overflow bit. I dont think XOR is reliable look on here for XOR Encryption and see problems especially in 64 bits and xxd command versus hexdump.