We’ve briefly worked with integers in the previous lesson, and in this section, we’ll take a deeper dive into the various types of numbers that exist in Kotlin.
Kotlin numbers fall into two categories: integers and decimals as part of the Number superclass. Take a look at the image on the right. Each book occupies a certain amount of space on the shelf depending on its size. The same goes for the various numerical data types in Kotlin. The larger a variable is in size (Bits), the more space it occupies in our computer’s memory.
The books on the left side represent 4 different types of data for an integer value:
Name | Bit (Size) | Min Value | Max Value |
---|---|---|---|
Long | 64 | -9,223,372,036,854… | 9,223,372,036,854… |
Int | 32 | -2,147,483,648 | 2,147,483,647 |
Short | 16 | -32,768 | 32,767 |
Byte | 8 | -128 | 127 |
A Long
variable is meant to store significantly large values, whereas a Byte
variable cannot store a value larger than 127
. Hence, their size and occupation in memory vary.
The books on the right represent 2 various types of data for decimal or floating-point values:
Name | Bit (Size) | Decimal Digit Precision |
---|---|---|
Double | 64 | 15-16 |
Float | 32 | 6-7 |
A Double
variable contains a longer, more precise decimal precision than a Float
. For example:
var doubleNum: Double = 6.0 / 13.0 var floatNum: Float = 6.0f / 13.0f println(doubleNum) // Prints: 0.46153846153846156 println(floatNum) // Prints: 0.46153846
When declaring a numerical variable in Kotlin, the compiler will determine which of the above data types to assign to it. The default type for whole numbers is Int
and the default type for decimals is Double
, thus we’ll be working with these two types of data more closely throughout this lesson.
Instructions
Click Up Next when you’re ready to move on.