Нет, вы берете int и приводите его к типу char, который является концепцией высокого уровня (и, скорее всего, внутренне будет выполняться в регистрах). Это не имеет ничего общего с порядком байтов, который в основном относится к памяти.
Вы, наверное, ищете это:
int i = 1;
char c = *(char *) &i;
if (c) {
cout << "Little endian" << endl;
} else {
cout << "Big endian" << endl;
}