Hola, me gustaria saber cual es el valor de una variable, por ejemplo, el tipo de datos int en mi ordenador equivale a 4 bytes.
Pero si en el int yo guardo por ejemplo este numero:
int i = 12345;
Estoy guardando 5 numeros, y cada numero equivale a un byte, entonces por que los guarda?, si si, ya se quizas estoy entendiendo mal, y estoy seguro de que lo estoy entendiendo mal porque de haberlo entendido bien no surgiria esta duda, me gustaria que me aclaren eso.
Gracias, de verdad me gustaria mucho saber el por que de esto.
1BYTE = 0xFF
2BYTES = 0xFFFF
4BYTES = 0xFFFFFFFF
string => 4BYTES => apunta a una dirección de memoria hasta llegar al '\0' ó NULL.
Si tenés 123456 y querés saber cuantos bytes ocupa hay que pasarlo a HEX, 1E240, ahí tendría 3BYTES, pero no se agrupan de a 3, entonces ocupa 4BYTES.
Luego de números positivos y negativos, es la misma lógica, lo que hace el compilador es tomar 4BYTES, lo divide en 2 y la primera parte es positiva y la otra negativa o alrevez.
Ej:
0xFFFFFFFF = 4294967295 número positivo
Si es declarado como una variable que soporta positivos y negativos, se divide en 2 y esa lógica la hace internamente (2147483647)