이번에는 Arithmetic Operators, 산술 연산자에 대하여 정리를 해 보겠습니다.
오늘도 변함없이 아주 쉽게 갑니다.
산술연산자는 우리가 사용하는 더하기, 빼기, 곱하기, 나누기가 있고,
컴퓨터에서 사용하는 나머지 연산자까지 하여 총 5가지가 있죠.
나머지 연산자만 예를 들어보면
20 % 3
20을 3으로 나누었을 때, 몫은 6이고 나머지는 2이니 이 식의 결과값은 2가 됩니다.
12 % 4
12을 4로 나누면, 몫이 3이고 나머지는 없으니 이 식의 결과값은 0이 됩니다.
부호는 다른 언어들과 똑같이,
더하기는 +
빼기는 -
곱하기는 *
나누기는 /
나머지 연산자는 %
를 사용합니다.
뭐 다를 게 없네요 ^^;
그렇다면, 여기서 궁금했던 점
나머지 연산자에서, 음수값을 나누면 나머지는 어떻게 될까요?
예를 들어,
5 % 20 은 5가 될텐데,
-5 % 20 은 과연 어떤 값이 나올까요?
정답은?
.
.
.
-5 입니다.
원리는 간단합니다.
When the first operand is a negative value, the return value will always be negative.
즉, 피제수라고 하나요?
나누어지는 숫자가 음수라면 나머지 또한 음수가 됩니다.
그리고 그 때의 나머지는
양수값, 즉 이 식에서는 5 % 20을 했을 때의 결과값에
마이너스 부호를 붙이면 됩니다.
그럼, 다른 것을 해 볼까요?
-50 % 20
50 나누기 20은 몫이 2이고 나머지가 10이니,
여기에 마이너스 부호를 붙이면 정답은
-10 이 됩니다.
그렇다면 마지막으로
-500 % 20 은?
나머지가 없으니 0이 되겠죠?
그리고, 여기서도 마이너스 부호를 붙이는 원칙이 적용되어
답은 -0 이라고 하네요.
(Even zero will have negative sign to it in JavaScript.)
0도 +0이 있고, -0이 있다는 사실...
이번에 처음 알았습니다.
도대체 어떻게 다른 건지 검색해 보았는데요.
길고... 영어입니다...
결론적으로는,
+0이나 -0은 사실상 같은 것이지만,
차이는 0으로 나누었을 때,
+0 은 +무한대
-0 은 -무한대
라는 것 같네요.
// To compare +0 and -0, divide by each value and compare the result:
var positiveZero = +0
var negativeZero = -0
console.log(positiveZero === negativeZero) // true
console.log(1/positiveZero === 1/negativeZero) // false
대충 이런 느낌?
지난 번에는 null과 undefined를 비교했고,
오늘은 의도치않게 +0과 -0을 비교하게 되었네요.
아주 큰 의미는 없는 것들이니, 그냥 이런 것이 있다더라 정도로 넘어가고.
다음번에는 아주 자주 사용하는 String Concatenation에 대해서 정리해 보겠습니다.
'Coding > JavaScript' 카테고리의 다른 글
1 -5 . Introduction to JavaScript - String Concatenation (0) | 2021.11.13 |
---|---|
1-3 . Introduction to JavaScript - null과 undefined의 차이점 (0) | 2021.10.25 |
1-2 . Introduction to JavaScript - Comments, Data type (0) | 2021.10.19 |
1-1 . Introduction to JavaScript - console.log() (0) | 2021.10.18 |
댓글