Я увидел следующую строку в GTMHTTPFetcher.m из gtm-http-request :
// set min interval to a random value between 1.0 and 2.0 seconds
minRetryInterval_ = 1.0 + ((double)(arc4random() & 0x0FFFF) / (double) 0x0FFFF);
Почему оба операнда оператора деления приводятся к double
с?
Что делает & 0x0FFFF
?
Работает ли это независимо от порядкового номера системы ?
Как мы можем быть уверены, что 0x0FFFF
всегда больше, чем arc4random() & 0x0FFFF
? Что если система использует комплимент двоим?