Re[10]: Беззнаковая арифметика
От: Cyberax Марс  
Дата: 19.10.06 13:51
Оценка:
Пётр Седов 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
Sapienti sat!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.