Q: How many bytes of storage do the various fundamental data types take in the NEXTSTEP implementation? Q: What are the maximum and minimum values for the various arithmetic data types? A: TYPE SIZE MINIMUM MAXIMUM char 1 byte = 8 bits -128 127 unsigned char 1 byte = 8 bits 0 255 short 2 bytes = 16 bits -32768 32767 unsigned short 2 bytes = 16 bits 0 65535 int 4 bytes = 32 bits -2147483648 2147483647 long 4 bytes = 32 bits -2147483648 2147483647 unsigned int 4 bytes = 32 bits 0 4294967295 unsigned long 4 bytes = 32 bits 0 4294967295 float 4 bytes = 32 bits 1.17549435e-38f 3.40282347e+38f double 8 bytes = 64 bits 2.225073858507201e-308 1.797693134862316e+308 * The unsigned and signed keywords don't change the size of the type they qualify. * Pointers occupy 4 bytes. * The void type occupies no space. If you happen to forget any of the sizes, you can quickly remind yourself by running gdb and typing: print sizeof(type) The minimum and maximum values are defined as constants in and . QA808 Valid for 1.0, 2.0, 3.0