Week's simplest program!
I was just wondering… what will be the size of the data types on this computer? (Must recognize I hadn't done any research before wondering, then I would have discovered that mac's follow IEEE754 standard, as windowss -or that they say-).
So there we go with it:
#include using namespace std;
int main (int argc, char * const argv[]) {
// insert code here...
cout << "Type sizes" << endl;
cout << "BOOL " << sizeof(bool) << endl;
cout << "CHAR " << sizeof(char) << endl;
cout << "INT " << sizeof(int) << endl;
cout << "FLOAT " << sizeof(float) << endl;
cout << "DOUBLE " << sizeof(double) << endl;
cout << "INT* " << sizeof(int*) << endl;
return 0;
}
And what does it return?
Type sizes BOOL 4 CHAR 1 INT 4 FLOAT 4 DOUBLE 8 INT* 4
Bool types use 4 bytes!?! WTF?!


javi
20050810
Será cuestión de optimización lo de los 4 bytes. Total, para hacer la comparación tendrá que meter en un registro la variable.
sole
20050810
huy, a saber…! a ver a quien le puedo preguntar… bueno, si alguien lo sabe a ciencia cierta, que deje un mensaje por aqui, gracias!
tux
20050811
Si no lo tengo mal entendido es xq en ppc no puedes cargar a los registros bytes solos,
tienes que tirar de 16 bits en 16 xq todas las instrucciones tienen un tamaño de 32bits
(hablamos de ppc) en resumen… es cuestión de la arquitectura
tux
20050811
reo que es xq en ppc ( si no lo tengo mal entendido) los accesos a memoria estan todos alineados a 4bytes, no se pueden hacer accesos no alineados y aunque se puedan hacer cargas de 1 solo byte, el propio compilador (supongo) que genera la variable como 4 bytes.
tux
20050811
donde van a parar los comentarios? xDD si a caso los revisas tu manualmente, el primer comentario que he mandado me he dado cuenta que no era cierto xq buscando he visto que si hay una instrucción para cargar bytes especifica: lbz
Estoy casi seguro del segundo que te he mandado ( por triplicado o porai) Saludos!
sole
20050815
Ahora que lo dices empiezo a recordar nociones de cuando era pequeña e iba a clase de arquitectura de computadores, y me acuerdo de aquel procesador (un mips r1000 o así) que nos explicaban y su extraño código máquina, tan diferente del código máquina que estaba acostumbrada a leer en las revistas (el de x86).
Y aquello de que había que cargar alineadamente… también me suena (pero no lo he comprobado) que sí, podías cargar por bytes pero eso tenía penalización ya que tenía que comprobar que estuviera alineado.
A lo mejor acabo de soltar una burrada gordísima XD Lo que hace el olvido…