더 작은 배당과 더 큰 분배의 모듈러스는 어떻게 작동합니까?
7 % 3 = 1 (remainder 1)
어쩌죠?
3 % 7
(remainder?)
일?
나머지 3/7은 3..나머지 3개로 0번을 했기 때문에 3%7 = 3
7은 3에 들어가는 거야? 0번이고 3번 남았어요.
몫은 0입니다.나머지(modulus)는 3입니다.
개념적으로 저는 이렇게 생각합니다.정의에 따라 배당금은 다음과 같아야 합니다.(quotient * divisor) + modulus
또는 모듈러스에 대한 풀이:modulus = dividend - (quotient * divisor)
배당금이 분배수보다 적을 때마다, 몫은 항상 0이고, 모듈러스는 단순히 배당금과 같아집니다.
OP 값으로 설명하기
modulus of 3 and 7 = 3 - (0 * 7) = 3
다른 값으로 설명하기
1 % 3:
1 - (0 * 3) = 1
2 % 3:
2 - (0 * 3) = 2
같은 방법.몫은 0(3 / 7, 분수 부분은 버려짐)입니다.나머지는 다음을 만족합니다.
(a / b) * b + (a % b) = a
(3 / 7) * 7 + (3 % 7) = 3
0 * 7 + (3 % 7) = 3
(3 % 7) = 3
이는 C99 §6.5.5, 곱셈 연산자에 정의되어 있습니다.
7을 3으로 나눈 값은 2이고 나머지는 1입니다.
3을 7로 나눈 값은 0이고 나머지는 3입니다.
둘 다 긍정적이기만 하면 나머지는 배당금과 같아집니다.하나 또는 둘 다 부정적이면, 당신은 다음과 같이 상기됩니다.%
모듈러스 연산자가 아닌 나머지 연산자입니다.모듈러스는 항상 양수이지만 나머지는 음수일 수 있습니다.
(7 * 0) + 3 = 3
; 따라서 나머지는3
.
% q = r은 q * x + r = a가 되도록 x가 있음을 의미합니다.
따라서 7 % 3 = 1 이므로 3 * 2 + 1 = 7,
그리고 3 % 7 = 3 이므로 7 * 0 + 3 = 3
기억해야 할 가장 간단하고 효과적인 캐치는 다음과 같습니다.배당금이 분배금보다 적을 때마다 모듈러스는 그 배당금일 뿐입니다.
다음을 공식화해 보겠습니다.
if x < y, then x % y = x
만약 분할자가 더 작고 부정적이라면, 이 놀라운 경우를 언급하는 것을 잊어버린 것 같습니다.
-3 % 7
result: 4
제 뇌가 이런 질문을 이해할 수 있도록 항상 실제 물체로 변환합니다. 예를 들어 3% 7의 질문을 변환하면 "3"은 3인치 너비의 금속 구멍으로, "7"은 7인치 금속 나사로 표현할 것입니다.7인치 금속 나사를 3인치 너비의 금속 구멍에 삽입할 수 있습니까?물론 아닙니다. 따라서 답은 3인치 금속 구멍이어야 합니다. 1,000인치 또는 100만인치 너비 나사가 있다고 해도 상관없습니다. 1,000인치 또는 100만인치 너비 나사를 3인치 너비 금속 구멍에 몇 번이나 삽입할 수 있습니까?0번이죠?
언급URL : https://stackoverflow.com/questions/3622298/how-does-modulus-of-a-smaller-dividend-and-larger-divisor-work
'programing' 카테고리의 다른 글
PowerShell에서 명명된 매개 변수를 [ref]로 정의하는 방법 (0) | 2023.10.27 |
---|---|
editline/history.h 및 editline/readline.h를 찾을 수 없음/이미 설치된 개발자 도구로 컴파일하려고 할 때 macOS에서 작동함 (0) | 2023.10.27 |
컴파일 시 스택 사용량 확인 (0) | 2023.10.27 |
window cmd를 사용하여 사용자 권한을 보는 방법? (0) | 2023.10.27 |
jQuery에서 마우스 휠 이벤트를 얻습니까? (0) | 2023.10.27 |