Sólo como comentario: Tal vez casi nunca se use, pero la tilde es el operador de la negación binaria (que no es lo mismo que el valor negativo ni la negación lógica). Convierte el operador en un valor de 32 bits, y luego invierte todos los bits.
Suponiendo:
Código:
var Numero1 = 5 //0000 0000 0000 0101
Numero1 = ~ Numero1; //1111 1111 1111 1010 (-6)
Saludos.