integer in Kotlin

Type | Storage size | Value range
--- | --- | --- 
Byte | 1 byte | -2<sup>7</sup> to 2<sup>7</sup>-1
Short | 2 bytes | -2<sup>15</sup> to 2<sup>15</sup>-1
Char | 1 byte | 2<sup>16</sup>-1
Int | 4 bytes | -2<sup>31</sup> to 2<sup>31</sup>-1
Long | 8 bytes | -2<sup>63</sup> to 2<sup>63</sup>-1

Kotlin does not support unsigned data types. The byte, short, int, and long are all signed data types. For a signed data type, half of the range of values stores positive number and half for negative numbers, as one bit is used to store the sign of the value.
Char is Unicode character range from '\u0000' (or 0) to '\uffff' (or 2<sup>16</sup>-1 inclusive)
```
fun main() {
    var b:Byte = -1; println(b); 
    var c:Char = 1.toChar(); println(c.toInt());
    var s:Short = -1; println(s);
    var i:Int = -1; println(i);
    var l:Long = -1; println(l);
}
```
Outputs:
```
-1
1
-1
-1
-1
```