Почему в программировании диапазоны значений переменных всегда больше именно в отрицательную сторону?
Правильно я понимаю, что это идет разделение на отрицательные и неотрицательные числа?
Не всегда. Всё зависит от конкретной задачи.
-32768 ...32767
потому что к примеру целые могут быть представлены
16-ти разрядными числами состоящие из 16 бит (0 или 1)
и старший бит указывает что число отрицательное
111111111111111 = 32767
100000000000000 = -32768
к тому же числа представлены в дополнительном двоичном коде,
а не в прямом, зачем - не знаю.
https://ru.wikipedia.org/wiki/Дополнительный_код
Смотря в какой логике.
При хранении чисел со знаком в формате "дополнительный код" требуется хранить N-вариантов положительных, M отрицательных и "ноль"
Очевидно, что "ноль" будет занимать один из положительных или отрицательных вариантов. Куда конкретно будет определен ноль сформировалось на простом допущении, что у чисел без знака вариант отнимается от положительных - так и осталось
PS: при записи числа в "обратном коде" количество вариантов положительных и отрицательных совпадает ( а также есть два варианта "нуля" )