doc/tutorial/basics: add basics tutorial
Change-Id: I350244d6db5e20be4ab3913dc864f61923b2738f
diff --git a/doc/tutorial/basics/rangedef.md b/doc/tutorial/basics/rangedef.md
new file mode 100644
index 0000000..6bb34eb
--- /dev/null
+++ b/doc/tutorial/basics/rangedef.md
@@ -0,0 +1,45 @@
+[TOC](Readme.md) [Prev](ranges.md) [Next](lists.md)
+
+# Predefined Ranges
+
+Numbers if CUE have arbitrary precision.
+Also there is no unsigned integer type.
+
+CUE defines the following predefined identifiers to restrict the ranges of
+integers to common values.
+
+```
+uint 0..int
+uint8 0..255
+int8 -128..127
+uint16 0..65536
+int16 -32_768...32_767
+rune 0..0x10FFFF
+uint32 0..4_294_967_296
+int32 -2_147_483_648..2_147_483_647
+uint64 0..18_446_744_073_709_551_615
+int64 -9_223_372_036_854_775_808..9_223_372_036_854_775_807
+int128 -170_141_183_460_469_231_731_687_303_715_884_105_728..
+ 170_141_183_460_469_231_731_687_303_715_884_105_727
+uint128 0..340_282_366_920_938_463_463_374_607_431_768_211_455
+```
+
+<!-- CUE editor -->
+```
+positive: uint
+byte: uint8
+word: int32
+
+{
+ a: positive & -1
+ b: byte & 128
+ c: word & 2_000_000_000
+}
+```
+
+<!-- result -->
+```
+a: _|_
+b: 128
+c: 2000000000
+```
\ No newline at end of file