Estoy usando C++ en Linux de 64 bits, el compilador (g ++) también es de 64 bits. Cuando imprimo la dirección de alguna variable, por ejemplo un entero, se supone que imprime un entero de 64 bits, pero de hecho imprime un entero de 48 bits.puntero C++ en la máquina de 64 bits
int i;
cout << &i << endl;
output: 0x7fff44a09a7c
Me pregunto dónde están los otros dos bytes. Esperando su ayuda.
Gracias.
¿Cuántos bits hace el número '1' tiene? ¿Te quejas de que 'uint32_t x = 1; 'no tiene suficientes bits? Debería verificar 'sizeof (* int)' en lugar de imprimir cosas. –