자바스크립트에서 −1 % 7은 왜 6이 아니라 −1일까?
몫을 0 쪽으로 버리는 나머지 계산과 일곱 칸을 순환하는 위치 계산을 나누어 실행합니다.
그림에서 무엇을 볼까요?
−1을 7로 나눌 때 0 쪽으로 버린 몫은 0, 나머지는 −1이고 0부터 6까지 순환 위치로 바꾸면 6인 비교
일곱 장의 사진을 0부터 6까지 번호로 관리한다고 합시다. 0번 사진에서 이전 버튼을 누르면 6번을 보여 주고 싶습니다. AI가 (현재 번호 − 1) % 7이라고 코드를 제안했다면 음수 경계에서 직접 시험해야 합니다.
자바스크립트에서 -1 % 7은 -1입니다. 이 값은 원하는 사진 번호 6과 다릅니다. 순환 번호를 구하려는 목적과 언어가 정의한 나머지 연산을 구별해야 어떤 보정이 필요한지 설명할 수 있습니다.
함께 확인할 점
작은 정수 n과 양의 정수 d만 사용합니다. %는 자바스크립트 Number의 나머지 연산이며, 순환 위치는 ((n % d) + d) % d로 따로 계산합니다. 언어마다 같은 기호의 규칙이 같다고 가정하지 않습니다.
생각해 볼 질문
n=-8·-7·-1·0·7·8, d=7의 몫·나머지·순환 위치를 기록하세요. 사진 목록의 이전 버튼을 검증하려면 어떤 경계 사례가 필요한지 설명해 보세요.
