Binary Search a sorted array, why return a negative number, why -low -1?

A simple question, I just want to know why when key = 12, return -6? I know 12 is not in the array, but why is it 6?
I want a detailed explanation.
I know low = 0;
when is not found, return -low -1; but i don’t understand why.

int[] list = {2, 4, 7, 10, 11, 45, 50, 59, 60, 66, 69, 70, 79};
        System.out.println("1. Index is " + Arrays.binarySearch(list, 11));
        System.out.println("2. Index is " + Arrays.binarySearch(list, 12));

Print:

 1. Index is 4
 2. Index is -6