Calcular la representación negabinaria de un número dado sin bucles

¿Podría proporcionar una explicación convincente, o una prueba matemática, de por qué la siguiente función calcula elnegabinary representación de un número dado?

function quickNegabinary(number) {
  var mask = 0xAAAAAAAA;
  return ((number + mask) ^ mask).toString(2);
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta