Теория: основная, дополнительно: раз, два. Тут везде разные языки программирования, но принцип один и тот же, максимум операции могут по-разному записываться.