我正在编写一个猜测数字游戏的手臂,以了解更多有关它。但我被随机数的产生困住了..。我调用rand(),但我不知道如何做模100来生成一个在0-100范围内的数字。我不认为ARM和“r0,r0,#100”是很随意的.
下面是伪随机数生成的开始:
mov r0, #0 bl time bl srand bl rand
低成本高体验,解决您的基础业务数据需求
发布于 2017-11-25 11:55:39
只有当你感兴趣的余数来自于幂为2的除法时,你才能工作。你可以做的一件事是使用一个这样的值而不是100。
另一种选择是使用剩余定理:
a % 100 = a - (100 * int(a/100))
gcc也是这样做的(尽管它实际上避免了将100除以倒数乘法;如果您的手臂支持整数除法指令,那么您就是幸运的)。
https://stackoverflow.com/questions/47478995
相似问题
领取专属 10元无门槛券
AI混元助手 在线答疑
洞察 腾讯核心技术
剖析业界实践案例