Data Types

Simple Data Types:
The simple data type is the fundamental data type in C++ because it becomes a building
block for the structured data type, which you start learning about in Chapter 9. There are
three categories of simple data:
1. Integral, which is a data type that deals with integers, or numbers
without a decimal part
2. Floating-point, which is a data type that deals with decimal numbers
3. Enumeration, which is a user-defined data type.

Integral data types are further classified into the following nine categories:

char, short, int, long, bool, unsigned char, unsigned short, unsigned int, and
unsigned long.


Difference Between char, short and int:

Why are there so many categories of the same data type? Every data type has a different set
of values associated with it. For example, the char data type is used to represent integers
between –128 and 127. The int data type is used to represent integers between
–2147483648 and 2147483647, and the data type short is used to represent integers
between –32768 and 32767.

This section describes the int data type. This discussion also applies to other integral data
Integers in C++, as in mathematics, are numbers such as the following:
-6728, -67, 0, 78, 36782, +763
Note the following two rules from these examples:
1. Positive integers do not need a + sign in front of them.
2. No commas are used within an integer. Recall that in C++, commas
are used to separate items in a list. So 36,782 would be interpreted as
two integers: 36 and 782.

The data type bool has only two values: true and false. Also, true and false are called
the logical (Boolean) values. The central purpose of this data type is to manipulate logical
(Boolean) expressions. Logical (Boolean) expressions will be formally defined and discussed
 In C++, bool, true, and false are reserved words.

The data type char is the smallest integral data type. It is mainly used to represent
characters—that is, letters, digits, and special symbols. Thus, the char data type can
represent every key on your keyboard. When using the char data type, you enclose each
character represented within single quotation marks. Examples of values belonging to the
char data type include the following:
‘A’, ‘a’, ‘0’, ‘*’, ‘+’, ‘$’, ‘&’, ‘ ‘
Note that a blank space is a character and is written as ‘ ‘, with a space between the single
quotation marks.

Floating-Point Data Types:
To deal with decimal numbers, C++ provides the floating-point data type, which we
discuss in this section. To facilitate the discussion, let us review a concept from a high
school or college algebra course.
You may be familiar with scientific notation. For example:
43872918 = 4.3872918 * 107 {10 to the power of seven}
.0000265 = 2.65 * 10-5 {10 to the power of minus five}
47.9832 = 4.79832 * 101 {10 to the power of one}
To represent real numbers, C++ uses a form of scientific notation called floating-point

C++ provides three data types to manipulate decimal numbers: float, double, and
long double. As in the case of integral data types, the data types float, double, and
long double differ in the set of values.

Difference Between Float And Double:

float: The data type float is used in C++ to represent any real number between
-3.4E+38 and 3.4E+38. The memory allocated for a value of the float data type is
four bytes.
double: The data type double is used in C++ to represent any real number between
-1.7E+308 and 1.7E+308. The memory allocated for a value of the double data type is
eight bytes.
The maximum and minimum values of the data types float and double are system
dependent. To find these values on a particular system, you can check your compiler’s
documentation or, alternatively, you can run a program given in Appendix F (Header
File cfloat).
Other than the set of values, there is one more difference between the data types float
and double. The maximum number of significant digits—that is, the number of decimal
places—in float values is six or seven