6 - Indica o que é mostrado no ecrã pelo seguinte código C#. Justifica a tua resposta.
ulong a = 0xABCD;
Console.WriteLine($"{a & 0x000F}");
0xABCD -> 1010 1011 1100 1101
0x000F -> 0000 0000 0000 1111
& -------------------
0000 0000 0000 1101 = 0x000D
0x163 + 0x162 + 0x161 + Dx160 = 0 + 0 + 0 + 13 = 13
O output será 13
, tendo em conta que, $
interpola a string mostrando o
valor que está dentro das chavetas {}
e dentro destas encontra-se
um cálculo entre o valores de a
e 0x000F
com o operador &
AND.
Por Sara Gama.
Na 1ª linha é atribuído o valor 0xABCD
à variável a
.
Na 2ª linha temos um Console.WriteLine
com uma string interpolada
($"{}"
mostra o valor que está dentro das chavetas), na qual temos uma
operação &
(AND) entre a variável a
e 0x000F
:
0xABCD -> 1010 1011 1100 1101
0x000F -> 0000 0000 0000 1111
& -------------------
0000 0000 0000 1101 -> 0x000D
Para converter um valor hexadecimal em decimal, basta multiplicar cada dígito hexadecimal por 16 elevado à posição desse mesmo dígito, e somar todos os valores resultantes, da seguinte forma:
0x163 + 0x162 + 0x161 + Dx160
= 0 + 0 + 0 + 13 x 1
= 13
Desta forma, o valor de a
após o código ser executado é de 13
em decimal.
Por Diana Nóia