All data is stored in memory in binary form, but this raises a problem:
The binary form of the integer 36 is the same as the binary form of the character '$' (see 3.05 - ASCII and Unicode).
How does the computer decide which of these interpretations is correct?
The data type of a variable determines how its binary form in memory is interpreted.
Table 1 shows the five main data types.
Table 1
| Name | Pseudo-code | Python | Description | Examples |
|---|---|---|---|---|
| Integer | INT |
int |
A whole number. | 5, -123, 0 |
| Float (or real) | REAL |
float |
A number with a decimal part. | 1.23, -10.0, 0.15 |
| Boolean | BOOL |
bool |
Either "true" or "false". | True, False |
| Character | CHAR |
N/A | A single character. | 'a', '5', '?' |
| String | STRING |
str |
A collection of characters. | "abcd", "!@#", "" |
You can convert between different data types, as shown in Example 1 (pseudo-code) and Example 2 (Python).
Example 1
INT_TO_STRING(123) "123"
STRING_TO_INT("123") 123
REAL_TO_STRING(1.23) "1.23"
STRING_TO_REAL("1.23") 1.23
Example 2
str(123) # "123"
int("123") # 123
str(1.23) # "1.23"
float("1.23") # 1.23
Which data type do we use as the condition of an
IF statement?
A boolean: it needs to evaluate to either True or False.