Integers signed and unsigned:
Sample code for syntax for unsigned inter is :
nsigned int num_students ;
With this declaration, the range of permissible integer values (for a 16-bit OS) will shift from the range -32768 to +32767 to the range 0 to 65535. Thus, declaring an integer as unsigned almost doubles the size of the largest possible value that it can otherwise take.
It happens because on declaring the integer as unsigned, the left-most bit is now free and is not used to store the sign of the number.
Unsigned integer still occupies two bytes.
It can be declared as : unsigned int i ; unsigned i ;
There also exists a short unsigned int and a long unsigned int. By default a short int is a signed short int and a long int is a signed long int in C programming.
Chars, signed and unsigned
Signed and unsigned chars, both occupying one byte each, but having different ranges. Consider the statement
char ch = 'A' ;
Here what gets stored in ch is the binary equivalent of the ASCII value of ‘A’ (i.e. binary of 65). And if 65’s binary can be stored, then -54’s binary can also be stored (in a signed char).
A signed char is same as an ordinary char and has a range from -128 to +127; whereas, an unsigned char has a range from 0 to 255.
Floats and Doubles
A float occupies four bytes in memory and can range from -3.4e38 to +3.4e38. If this is insufficient then C offers a double data type that occupies 8 bytes in memory and has a range from -1.7e308 to +1.7e308.
A variable of type double can be declared as,
double a, population ;
If the situation demands usage of real numbers that lie even beyond the range offered by double data type, then there exists a long double that can range from -1.7e4932 to +1.7e4932.
A long double occupies 10 bytes in memory in c programming and it is used rarely.
INTRODUCTION TO C PROGRAMMING
Programming with C an introduction part two
Data types for C programming
C PROGRAMMING CHARACTER SET
CONSTANTS IN C PROGRAMMING
PROGRAMMING C VARIABLES
C PROGRAM INSTRUCTIONS
COMPILATION AND EXECUTION OF C PROGRAM