2017-11-24 4 views
0

자세한 내용은 ARM의 숫자 게임을 추측하여 코딩하고 있습니다. 하지만 임의의 숫자 생성에 걸렸어 ... 나는 rand()를 호출하지만 modulo 100을 수행하여 0-100 범위의 숫자를 생성하는 방법을 모르겠습니다. 내가 거기에 ARM의 모듈이며, "와 R0는, R0는, # 100"매우 무작위하지 ​​생각하지 않는다 ... 여기 모듈러스를 사용하는 임의의 숫자

는 의사 난수 생성의 시작 :

mov r0, #0 
bl time 
bl srand 
bl rand 

답변

1

ANDs는 관심있는 나머지 부분이 2의 거듭 제곱으로 나올 때만 작동합니다. 당신이 할 수있는 한 가지는 100 대신에 하나의 값을 사용하는 것입니다.

대안으로는 나머지 정리 :

a % 100 = a - (100 * int(a/100))

이것은 gcc가하는 것입니다. 실제로 으로 100을으로 나누는 것을 피할 수 있습니다. ARM이 정수 나누기 명령어를 지원한다면, 당신은 lucky입니다.)

+0

감사! 나는 나머지 정리를 사용하려고 노력할 것이다. – Neolex