[code]#include <stdio.h>
#include <math.h>
int main(int argc, const char * argv[])
{
/**Challenge Part 1/
/*On a Mac, a short is a 2-byte integer, and one bit is used to hold the sign (positive or negative).
What is the smallest number that a short can store? What is the largest?*/
// Define data type
short stored;
// Byte size of data type
int byteSizeOfMemory = sizeof(stored);
printf("The byte size of a short is %zd.\n", byteSizeOfMemory);
// Bit size of data type
int bitSizeOfMemory = byteSizeOfMemory*8;
printf("The bit size of a short in a 64 bit archeticture is %d.\n",bitSizeOfMemory);
// Power of the short data type
int powerOfShort = bitSizeOfMemory - 1;
printf("The size of the power for a short is %d.\n", powerOfShort);
// Smallest number in the short data type
double sizeOfShort = pow(2, powerOfShort);
printf("The smallest number, the quantity of a negative 2 to the power of %d, that a short can hold is %f.\n", powerOfShort, -(sizeOfShort));
// Largest number in the short data type
double sizeOFUShort = (pow(2,powerOfShort+1)) - 1;
printf("The largest number, the quantity of a positive 2 to the power of %d minus 1, that a short can hold is %f.\n", powerOfShort,(sizeOfShort -1));
/**********************************Challenge Part 2********************************/
/*An unsigned short only holds non-negative numbers. What is the largest number that an unsign short can store?*/
printf("The largest number, the quantity of a positive 2 to the power of %d minus 1, that an unsigned short can store is %f\n",powerOfShort+1, sizeOFUShort);
/********************************References************************************/
/* 1. http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1570.pdf page 523 of 701
2. https://developer.apple.com/library/mac/documentation/Darwin/Conceptual/64bitPorting/64bitPorting.pdf page 13 of 68
3. http://en.cppreference.com/w/cpp/language/types
4. http://en.wikipedia.org/wiki/Integer_%28computer_science%29*/
return 0;
}[/code]