Numerical Data Types | Variables and Data Types
C++ Introduction

Course Content

C++ Introduction

## C++ Introduction

1. Getting Started
2. Variables and Data Types
3. Introduction to Operators
4. Introduction to Program Flow
5. Introduction to Functions

# Numerical Data Types

### Whole numbers

Integer data types are the most commonly used for whole numbers. The `int` data type can hold values within the range of `-2,147,483,648` to `2,147,483,647`.

main

That happens because when you declare an `int` variable, it allocates precisely 4 bytes of your PC's memory. And numbers above `2147483647` (or below `-2147483648`) do not fit inside those 4 bytes. Luckily, other data types available can allocate you more(or less) space for your needs. Here is the table:

 Data Type Range Size `short` -32,768 to 32,767 2 bytes `int` -2,147,483,648 to 2,147,483,647 4 bytes `long` -9223372036854775808 to 9223372036854775807 8 bytes

So you can use `long` to store large numbers (e.g., World's population). You can also use `short` if you are sure your number will not exceed the `-32,768` to `32,767` range (e.g., storing a user's age). Using `short` will take up less space.

main

Note

Be careful with the data type you choose. If the range of a type is exceeded, the C++ compiler will not tell you this, and you will get an unexpected value without knowing something is wrong.

### Floating point numbers

The data types above are designed to store whole numbers. If we tried to assign `1.6` to one of those, here is what we would get:

main

The `int` type ignores the decimal part of a number. The same story with `short` or `long`. To store the floating point(decimal) numbers, we should use either `float` or `double` data type.

 Data Type Precision Size `float` 7 decimal digits 4 bytes `double` 15 decimal digits 8 bytes

Here is an example of using `double` to store `1.6`.

main

Note

Since the `float` type only has a precision of seven digits, the number `123.456789` is already out of its range. It can lead to inaccurate results(as shown in the example below). So it is better to use `double` by default unless you are sure `float`'s precision is enough.

main

Obviously, you can use `float` or `double` to store whole numbers since those are decimal numbers with a decimal part equal to 0. However, as a good practice, if a variable stores values that can only be whole numbers (e.g., population or likes), `short`/`int`/`long` should be used.

main

Everything was clear?

Section 2. Chapter 3
We're sorry to hear that something went wrong. What happened?