Ios 随机uint8\t数

Ios 随机uint8\t数,ios,objective-c,Ios,Objective C,我希望能够在01-30之间生成一个随机数,作为Objective-C中的uint8_t 例如,它将类似于以下任何一项: uint8_t randomNumber1 = 0x13; uint8_t randomNumber2 = 0x04; uint8_t randomNumber3 = 0x22; 我该怎么做呢 谢谢 您可以使用arc4random_统一函数在给定间隔内生成随机数: uint8_t randomNumber1 = (uint8_t)arc4random_uniform(30)

我希望能够在01-30之间生成一个随机数,作为Objective-C中的uint8_t

例如,它将类似于以下任何一项:

uint8_t randomNumber1 = 0x13;
uint8_t randomNumber2 = 0x04;
uint8_t randomNumber3 = 0x22;
我该怎么做呢


谢谢

您可以使用arc4random_统一函数在给定间隔内生成随机数:

uint8_t randomNumber1 = (uint8_t)arc4random_uniform(30) + 1;
由于
0x22
(来自您的示例)大于30(以10为基数),因此我假设您的上限为
0x30
。那么,

uint8_t random = arc4random_uniform(0x30) + 1;

感谢Vladimir,我应该在我的问题中提到,我需要数字保持为0X13、0X22或0X04,而不是调试器日志中显示的类似“\x18”的内容。有没有关于如何使这项工作的建议?ThanksIt只是调试器默认显示uint8_t变量的一种方式。如果要以不同方式打印,可以在NSLog中使用自定义格式字符串。或者,如果您想更改调试器的默认行为,您可以查看lldb脚本。正如我在下面向Vladimir提到的,我应该在我的问题中提到,我需要数字保持为0X13、0X22或0X04,而不是调试器日志中显示的类似“\x18”的内容。有没有关于如何使这项工作的建议?感谢这只是调试器如何呈现它的一个工件。你是在问如何打印格式为十六进制数的值吗?啊,我错了。谢谢你的帮助,我会接受的!