Re[5]: Откуда эта лютая любовь к знаковым целым?
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 05.08.23 05:21
Оценка: +1
Здравствуйте, CRT, Вы писали:

CRT>Здравствуйте, T4r4sB, Вы писали:


CRT>>>просто и интуитивно понятно

CRT>>>i != (unsigned)-1; --i) {

TB>>


CRT>и что не так?

CRT>тебе нужен диапазон значений в цикле [n-1;0]
CRT>значит при -1 надо выходить, что и отражено в условии.
CRT>так что всё очень явно и понятно.
CRT>или тебе (unsigned)-1 кажется непонятным? Ну это только если ты не понимаешь как числа в памяти представлены и что процессор не различает знаковые/беззнаковые при сложении, вычитании, сравнении

Не знаю, что у Тараса, а для меня — у тебя тут аж два момента на взоржать.

Первый — твоё "интуитивно" понятно. Это как раз не интуитивно и требует адаптации, хоть и относительно лёгкой.

И тут есть ещё одна проблема. Если ты идёшь по циклу строго с шагом 1 — такая идиома действительно понятна. Но если тебе нужен больший шаг, то она уже не работает — тебе или надо, например, одновременно сравнивать с -1, -2, -3, какой там у тебя максимальный шаг, или (хотя бы) переходить со сравнения на равенство — на сравнение на больше-меньше.
Если у тебя есть запас значений, то сравнение i>=N может быть безопасным. Если нет, то тебе надо следить непосредственно за фактом перехода через 0, а не за самими значениями.

А второй — что это всё уже неоднократно проговаривалось в данной дискуссии, а ты влез в остывший тред и кэпствуешь с самого начала.
The God is real, unless declared integer.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.