2 - Qual o valor hexadecimal da variável a
após a execução do seguinte código
C#? E o valor em binário? Justifica a tua resposta.
ulong a = 0xFEDE;
a |= 0x0F0F;
0xFEDE -> 1111 1110 1101 1110
0x0F0F -> 0000 1111 0000 1111
| --------------------
1111 1111 1101 1111 = 0xFFDF
Após passar os valores de hexadecimal para binário, aplica-se o operador
or -> |
, como é pedido, obtendo-se o valor de a
após uma conversão
final para hexadecimal (sendo o valor final 0xFFDF
).
Por Sara Gama.
Na primeira linha de código a variável a
está declarada como ulong
com o
valor 0xFEDE
.
Na segunda linha temos a operação |
bit a bit com o valor 0x0F0F
que dará
um novo valor à variável a
. Primeiro faz-se a conversão dos dois valores
hexadecimais para binário.
Operação (or) bit a bit condições:
1 | 1 = 1
1 | 0 = 1
0 | 0 = 0
0 | 1 = 1
0xFEDE -> 1111 1110 1101 1110
0x0F0F -> 0000 1111 0000 1111
| -------------------
1111 1111 1101 1111
O valor atribuído à variável a
em binário é 1111 1111 1101 1111.
Para converter o número binário em hexadecimal, basta observar os quatro
primeiros dígitos do número binário, ou seja, com o conjunto de 4 dígitos
binários consegue-se representar os números até 15 em decimal.
Sabendo que em hexadecimal os números vão de 1
a F
faz-se a seguinte
conversão:
1111 = 15 decimal = F hexadecimal
1111 = F hexadecimal
1101 = 13 decimal = D hexadecimal
1111 = F hexadecimal
Hexdec -> 0xFFDF
O valor de a
em hexadecimal após a execução do código será 0xFFDF.
Por Ana Jesus.
O valor atribuído à variável a
na 1ª linha é 0xFEDE
.
Na 2ª linha de código está a ser realizada uma operação |
(OR) entre
a
(cujo valor é 0xFEDE
) e 0x0F0F
.
Podemos realizar a operação mais facilmente convertendo ambos os valores em binário, e posteriormente convertendo o resultado de volta para hexadecimal, da seguinte forma:
0xFEDE -> 1111 1110 1101 1110
0x0F0F -> 0000 1111 0000 1111
|--------------------
1111 1111 1101 1111 -> 0xFFDF
Uma vez que o resultado é guardado de volta na variável a
, o valor
desta é 0xFFDF
em hexadecimal.
Como realizámos a operação usando os valores em binário, sabemos que o
valor em binário é 0b1111_1111_0000_1111
.
Por Diana Nóia