Java: Negação, bit a bit Não, e booleano Não
Existem dois tipos de operações unários em Java que você deve ver em conjunto para que você não entenda mal-los mais tarde. Negação é o ato de definir um valor para a sua versão negativa - o valor de 2 torna-se -2.
Algumas tarefas relacionadas com a matemática exigem que você nega um valor, a fim de usá-lo. Em alguns casos, as pessoas confundem negação com a subtração, mas subtração é uma operação binária e a negação é uma operação unária.
Negação é o ato de definir um valor para o seu equivalente negativo. Um valor de 2 torna-se -2.
Contraste negação com o bit a bit Não operação, que você implementar usando o operador ~. A operação não inverte cada um dos bits de um valor. Todos os 0s tornar 1s e vice-versa. A operação não é frequentemente usado em tarefas relacionadas com o booleano. Ela ajuda a um pedido considerar a lógica de uma tarefa.
O termo bit a bit meios para executar uma tarefa de um único bit de cada vez, em vez de usar o valor inteiro. Portanto, um bit a bit operação NOT olha para cada bit individualmente - qualquer um torna-se um 0, e vice-versa. Consequentemente, quando você tem um valor de 5, que em binário é 00000101, torna-se um negativo de seis, que em binário é 11111010. Observe como os bits são precisamente revertida em valor.
Para tornar as coisas ainda mais confusas, há um segundo Not operação chamada booleano NOT operação que funciona em valores booleanos. Esta operação baseia-se na! operador. O operador bit a bit (~) não funcionará em valores booleanos e o operador lógico (!) Não funcionará em que não forem Boolean valores.
Os valores booleanos são verdadeiras ou falsas. Quando você Não é um valor booleano, você ligá-lo de verdadeiro para falso, ou de falso para verdadeiro.