В следующих рядах, количество елементов одинаково, но начинаются они с 1 или 0, а потому значение конечного операнда - разное.
Больше не надо мучиться.
Теперь все математические операции одновременно с двумя рядами, однозначно понятны и видны наглядно.
Мы объявили эти ряды, в стиле Благословенный.RCe.Framework Precision 0_1 math:
int0_name - integer started from 0 (0,1,2,3,4,5)=5;
int1_name - integer started from 1 (1,2,3,4,5,6)=6;
int0_name+1 = int1_name;
int1_name-1 = int0_name;
Результат, после всех математических действий, будет обладать понятным префиксом, указывающим на то, что ряд начинается с 0 или 1, соответсвенно результат обладающий префиксом, можно будет без труда привести к int0 или int1, при необходимости;
1.Для начала, приведём все типы к INT1;
((int0_name+1)+int1_name) =int1_result;
(int1_result - 1) = int0_result;
(int0_name+1) >|<|==|!= int1_name;
1.Перед операцией, приведём все данные к типу INT1.
(int0_name+1)/int1_name =int1_result;
int1_result-1 =int0_result;
int0_result+1 =int1_result;
1.Приведём все данные к типу INT1.
int1_name*(int0_name+1) =int1_result;