Quais das expressões abaixo são legais?
a) int x=6;x=!x;
b) int x=6;if(!(x>3)){}
c) int x=6;x=~x
Justifique…
Quais das expressões abaixo são legais?
a) int x=6;x=!x;
b) int x=6;if(!(x>3)){}
c) int x=6;x=~x
Justifique…
b) e c) são legais… pois os operadores usados são todos aplicados a inteiros… a) esta errada, pq o operador ! é usado em expressões booleanas…
Quais das expressões abaixo são legais?a)
int x=6;x=!x;b)
int x=6;if(!(x>3)){}c)
int x=6;x=~xJustifique…
o q faz a instrução (x=~x) ??? nunca tinha visto issu…
flw… 
Quais das expressões abaixo são legais?a)
int x=6;x=!x;b)
int x=6;if(!(x>3)){}c)
int x=6;x=~xJustifique…
o q faz a instrução (x=~x) ??? nunca tinha visto issu…
flw… :)
ela faz o seguinte, se tu tens um inteiro “x” declarado com:
e usar o operador ~ em cima de x, ele vai inverter os bits… ou seja, transforme o valor de x (numero 6) em binário, ficando:
0110
e, aplicando o operador ~ nesses bits, ficará 1001:
0110
~ ------
1001
logo, a expressão x = ~x inverterá todos os bits do valor de x…
e usar o operador ~ em cima de x, ele vai inverter os bits… ou seja, transforme o valor de x (numero 6) em binário, ficando:0110
e, aplicando o operador ~ nesses bits, ficará 1001:
0110
~ ------
1001logo, a expressão x = ~x inverterá todos os bits do valor de x…
valeu ae matheus… :joia: