我希望能夠在Objective-C中生成一個介於01-30之間的隨機數作爲uint8_t。隨機uint8_t號碼
因此,例如,它會像任何如下:
uint8_t randomNumber1 = 0x13;
uint8_t randomNumber2 = 0x04;
uint8_t randomNumber3 = 0x22;
我怎麼會去這樣做呢?
謝謝!
我希望能夠在Objective-C中生成一個介於01-30之間的隨機數作爲uint8_t。隨機uint8_t號碼
因此,例如,它會像任何如下:
uint8_t randomNumber1 = 0x13;
uint8_t randomNumber2 = 0x04;
uint8_t randomNumber3 = 0x22;
我怎麼會去這樣做呢?
謝謝!
由於0x22
(來自例如)大於30(基-10)中,我將假設你的上限是0x30
。在這種情況下,
uint8_t random = arc4random_uniform(0x30) + 1;
可以使用arc4random_uniform函數在給定的時間間隔,以產生隨機數:
uint8_t randomNumber1 = (uint8_t)arc4random_uniform(30) + 1;
謝謝沃倫。正如我在下面提到Vladimir時,我應該在我的問題中提到,我需要將數字保留爲0X13,或0X22或0X04,與'\ x18'相反,因爲它在調試器日誌中顯示我。有關如何完成這項工作的任何建議?謝謝 – Teddy13
這只是調試器如何呈現它的一個神器。你問如何打印格式爲十六進制數字的值? – warrenm
啊,我的錯誤。我感謝你的幫助,將接受! – Teddy13