Операция % - остаток от деления применима ко всем целым типам данных. Это касается как констант, так и переменных. Целочисленная константа имеет тип int (signed)
#include
using namespace std;
int main () {
char a = 15, aa;
aa = a % 4;
cout << "char - > " << signed(aa) << endl;
unsigned char b = 15, bb;
bb = b % 4;
cout << "unsigned char - > " << unsigned(bb) << endl;
short c = 15, cc;
cc = c % 4;
cout << "short - > " << cc << endl;
unsigned short d = 15, dd;
dd = d % 4;
cout << "unsigned short - > " << dd << endl;
unsigned e = 15, ee;
ee = e % 4;
cout << "unsigned - > " << ee << endl;
int f = 15, ff;
ff = f % 4;
cout << "int - > " << ff << endl;
long g = 15, gg;
gg = g % 4;
cout << "long - > " << gg << endl;
unsigned long h = 15, hh;
hh = h % 4;
cout << "unsigned long - > " << hh << endl;
long long i = 15, ii;
ii = i % 4;
cout << "long long - > " << ii << endl;
unsigned long long k = 15, kk;
kk = k % 4;
cout << "unsigned long long - > " << kk << endl;
cin.get();
return 0;
}
Операция деления для целых переменных и констант будет выполнена с потерей точности, округлённой до целого с полностью отброшенной дробной частью. Если числитель меньше знаменателя, результатом деления будет ноль.
Все int.