簡體   English   中英

生成隨機負NSInteger

[英]Generating a random negative NSInteger

我正在嘗試使用以下代碼生成隨機負NSInteger,

+ (NSInteger)getNegativeRandomNumber {
    uint32_t random = arc4random_uniform(2147483647); // where 2147483647 is the max 32-bit positive value returned by random function
    return (NSInteger)(-1 * random); // convert the positive into negative number
}

但是有時候這段代碼給了我正數。 您發現此代碼有任何問題嗎?

您得到負數

return -(NSInteger)random;

首先需要轉換為簽名類型。

這肯定會有所幫助。

-(int) generateRandomNumberWithlowerBound:(int)0
                               upperBound:(int) 2147483647
{
    int rndValue = lowerBound + arc4random() % (upperBound - lowerBound);
    return -(NSInteger)(rndValue);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM