Пётр Седов wrote:
> 4294967286
> 0
> Вместо -10 выводится "very big unsigned number" (в данном случае pow(2,
> 32) — 10). Такой "странный" результат получается из-за беззнаковой
> арифметики. Если заменить тип переменной n на unsigned char:
> unsigned char n = 10;
> cout << n — 20 << endl;
> cout << (n — 20 < 0) << endl;
А теперь так:
unsigned char n = 10;
cout << n - 20 << endl;
n = (n - 20 < 0);
cout << n << endl;
Posted via RSDN NNTP Server 2.0