1
resposta

localização da memória diferente pro mesmo objeto

No caso abaixo, pro professor deu a mesa localização na memória pro objeto conta, no meu deu diferente. Alguém sabe dizer porque?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá Victor, tudo bem com você?

Peço desculpas pela demora em lhe responder.

A referência de memória que é apresentado na imagem: 0x00000212FC20D0D0 e 0x212fc20d0d0 correspondem a um único espaço de memória, a diferença entre eles é o fato de termos os zeros (0) suprimidos por serem zeros à esquerda de um número.

As referências são representadas por números na base hexadecimal, para testarmos se os valores realmente são iguais, podemos usar o seguinte código:

primeiro_endereco = '0x00000212FC20D0D0'
segundo_endereco = '0x212fc20d0d0'

# convertendo string para inteiro na base 16 e esse inteiro, para o formato hexadecimal

int_primeiro_endereco = int(primeiro_endereco, 16)
hex_primeiro_endereco = hex(int_primeiro_endereco)
print(hex_primeiro_endereco)

# convertendo string para inteiro na base 16 e esse inteiro, para o formato hexadecimal
int_segundo_endereco = int(segundo_endereco, 16)
hex_segundo_endereco = hex(int_segundo_endereco)
print(hex_segundo_endereco)
# Resultato

0x212fc20d0d0
0x212fc20d0d0

Como apresentado no código acima, obtemos o mesmo resultado durante a conversão dos valores, assim, sabemos que os valores estão representando o mesmo espaço de memória.

Para saber um pouco mais sobre a manipulação de números hexadecimais, recomendo a leitura do seguinte artigo:

Coloco-me à disposição em caso de dúvidas.

Abraços e bons estudos.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!