최근 수정 시각 : 2022-08-07 06:59:53

사칙연산

연산
Numbers and Operations
{{{#!wiki style="word-break: keep-all; margin:0 -10px -5px"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin:-6px -1px -11px; letter-spacing: -1px"
<colbgcolor=#765432> 수 체계 자연수 ( 홀수 · 짝수 · 소수 · 합성수 ) · 정수 · 유리수 ( 정수가 아닌 유리수 ) · 실수 ( 무리수 · 환원 불능 · 초월수 ) · 복소수 ( 허수 ) · 사원수
표현 숫자 ( 아라비아 숫자 · 로마 숫자 · 그리스 숫자 ) · 기수법 · 진법 ( 십진법 · 이진법 · 8진법 · 12진법 · 16진법 · 60진법 ) · 분수 ( 분모 · 분자 · 기약분수 · 번분수 · 연분수 · 통분 · 약분 ) · 소수 ( 무한소수 )
연산 사칙연산 ( 덧셈 · 뺄셈 · 곱셈 구구단 · 나눗셈 ) · 역수 · 절댓값 · 제곱근 ( 이중근호 ) · 거듭제곱 · 로그 ( 상용로그 · 자연로그 ) · 검산 · 교환자
방식 암산 · 세로셈법 · 주판 · 산가지 · 네이피어 계산봉 · 계산기
용어 이항연산 · 항등원과 역원 · 교환법칙 · 결합법칙 · 분배법칙
기타 수에 관련된 사항 ( 0과 1 사이의 수 · 음수 ) · 혼합 계산 ( 48÷2(9+3) · 111+1×2=224 · 2+2×2 ) · 0으로 나누기 · 0의 0제곱 }}}}}}}}}

1. 개요2. 계산 방법 (우선순위)
2.1. 상세
3. 용례4. 관련 문서

1. 개요

사칙연산()이란, 산수의 기본이 되는 덧셈, 뺄셈, 곱셈, 나눗셈의 4가지 연산을 일컫는다. 뺄셈과 나눗셈을 빼고 그 자리에 지수 괄호(또는 등호)를 넣기도 한다. 뺄셈은 음수의 덧셈, 나눗셈은 음수지수가 포함된 곱셈이기 때문( [math( a - b = a + (-b) , a \div b = {a \over b} = a {1 \over b} = ab^{-1} )] ). 벡터 텐서 등에서는 곱셈이 여러 개다(상수배([math(c)])[1], 스칼라곱(·)[2], 벡터적(×)[3], 텐서곱(⊗), 쐐기곱(∧) 등). 논리 연산은 논리곱(AND; ∧), 배타적 논리곱(NAND;↑) 등이 있다.

지금은 사칙연산이라 부르고 있지만, 예전에는 가감승제()라고 표현했다. 한자 그대로 더하고, 빼고, 곱하고, (제하여) 나눈다는 뜻을 지니고 있다. 여기에는 지수, 괄호, 등호가 들어가지 않는다.

5학년 때 자연수의 사칙연산(예전에는 4학년 때 배웠다.), 6학년 때 자연수ㆍ분수ㆍ소수의 사칙연산, 중학교 올라가면 위 두 가지 혼합계산을 짬뽕한 데다가 거듭제곱ㆍ정수ㆍ유리수가 섞여 있는 사칙연산, 일차식ㆍ이차식의 사칙연산을 배운다.

영어로는 Elementary arithmetic이라고 하며, 중국에서는 사칙운산(四则运算)/가감승제(加减乘除)라고 한다.

복소수,실수,유리수 집합은 사칙 연산에 대해 닫혀 있다.

2. 계산 방법 (우선순위)

사칙연산에는 몇 가지 법칙과 우선순위가 존재한다.
1. 괄호 안을 먼저 계산한다. 단, 괄호 안의 괄호가 반복된다면 가장 안쪽 괄호부터 계산한다. 괄호 안의 계산을 완료하면, 다음 단계 괄호(바로 바깥 괄호) 안 또는 괄호 밖 계산을 우선순위 적용을 반복하면서 계산한다.(따라서 가장 안쪽 괄호 계산을 완료하면 다시 우선순위 1부터 시작한다.[4][5])

2. 지수를 다음으로 계산한다. (단 지수 연산이 곤란하다면[6] 무시할 수 있음)[7][8]

3. 곱셈과 나눗셈을 계산한다(단, 0으로는 나눌 수 없다).

4. 마지막으로 덧셈과 뺄셈을 계산한다.[9]예:10+7x2는 34가 아니다.24다

5. 만약 함수가 있다면, 덧셈과 뺄셈을 마치고 계산한다.

6. 만약 동순위 연산이 2개 이상이면, 계산은 왼쪽에서 오른쪽 순서대로 한다.[10]

예를 들어서 2+2×2의 답은, 6이 정답이다. 8이 아니다.

영미권에서는 위의 우선순위가 BIMDAS, BOMDAS, BEMDAS, PEMDAS[11] 등등의 다양한 약자로 알려져 있는데, 단어 선정에 따라 약자가 달라진다. 일단은 괄호, 지수, 곱/나눗셈, 덧/뺄셈의 약자인데...[12]

2.1. 상세

왜 곱셈과 나눗셈을 먼저 하냐면, 그렇게 정했기 때문이다.

예를 들어서 어떤 물건 5개를 두 사람에게 보여 주고, 한 사람에게는 창고에 가서 3개를 더 가져오라고 하고, 다른 한 사람에게는 두 배를 가져오라고 하면, 그 두 사람은 각각 3개와 두 배에 해당하는 10개(5 × 2)를 가져올 것이다. 결국 두 사람이 가져온 물건은 13개가 되는데 이는 3 + 5 × 2를 계산 순서에 맞게, 즉 곱셈을 먼저 하고 덧셈을 나중에 한 값에 해당하며, 3 + 5 × 2를 순서대로 계산한 16에 해당하지 않는다.

수식을 표현하는 방법에는 여러 방법이 있는데, 일반적으로 우리가 사용하는 방법은 '중위 표기법(infix notation)'이라고 한다.

중위 표기법이란, 수식을
[math(1+2\times 3)]
이렇게 표기하는 것이다. 중위 표기법 말고도 전위 표기법(prefix notation)과 후위 표기법(postfix notation)이 있는데, 위의 수식을 전위 표기법으로 표현해 보면,
[math(+ 1 \times 2~ 3)]
으로 표기하고, 후위 표기법으로 표현하면,
[math(1 ~2~ 3 \times +)]
이렇게 표기한다.

전위 표기법과 후위 표기법은 연산의 우선순위를 수식의 순서에 따라 표현할 수 있다.는 장점이 있는데 그 대신, 아주 심각한 문제가 하나 있다. 띄어쓰기를 제대로 안하면 수식이 구분이 안된다. 예를 들어 12+3 을 전위 표기법으로 하면 + 12 3 가 되는데, 띄어쓰기를 잘못하면 +123 이 되고 이는 12+3 과 1+23 을 구분할 수 없게 된다. 띄어 쓰기를 정확하게 해주던가, 구분을 위한 구분자를 써서 +12,3 등의 방법으로 써야 한다.

하지만, 중위 표기법은 연산의 우선순위를 표현하는 것은 불가능하다. 오랫동안 중위 표기법을 써 와서 그래왔는지, 아니면 인간이 보기에 그런지는 몰라도[13] 중위 표기법이 사람이 보기에 편하므로[14], 우선순위를 표현할 수 있는 전위와 후위 표기법 대신 중위 표기법을 사용하고 있다.

중위 표기법은 표기 자체만으로는 우선순위를 지정할 수 없다. 우선순위를 지정하기 위해서는 괄호나 괄선[15]을 써야 한다. 하지만 매번 그러한 기호를 사용하게 되면 쓰는 사람이나 읽는 사람이나 불편하다. 따라서 일단 곱셈과 나눗셈을 덧셈과 뺄셈보다 우선하게 해, 이러한 혼란을 방지하는 것이다.

그렇다고 해서 곱셈과 나눗셈을 덧셈과 뺄셈보다 우선하는 이유가 있느냐? 답은 없다. 역사적인 산물로 (쓰다보니까) 사람들이 곱셈과 나눗셈을 우선한다라고 정의한 것이다. 덧셈과 뺄셈을 우선해도 상관없다라고 정해졌다면 그렇게 지금까지 이어졌을 것이다. 그렇다면 왜 곱셈과 나눗셈을 우선시하였는가 하면, 복잡한 다항식을 계산하는 경우, 괄호 사용에 있어서 곱셈과 나눗셈을 우선시 하는 것이 괄호 사용을 줄일 수 있었기 때문이다. 계산하기도 그게 더 편했기도 하고.

곱셈이 덧셈보다 상위 연산자이기 때문이라는 해석도 있다. 집합론에서 자연수를 정의할때 제일 먼저 나오는 연산은 '다음수'[16]라는 연산이다. 그리고, '덧셈'은 다음수 연산을 반복해서 수행하는 것으로 정의한다. 그리고, '곱셈'은 덧셈을 반복하는 것으로 정의하고, '지수'는 곱셈을 반복하는 것으로 정의한다. 즉, 지수 > 곱셈 > 덧셈 > 다음수연산 이라는 연산 차원이 자연스럽게 만들어진다. 높은 차원의 연산을 먼저 수행하는 것은 지극히 당연한 귀결이다. 여기에 비추어볼 때, 그 다음 연산인 테트레이션은 지수보다 계산 순서가 우선한다고 볼 수 있다.

이러한 연산 규칙은 프로그래밍 언어에도 그대로 적용이 된다. 다만 언어에 따라 다소의 차이점이 있기는 하다. (주로 지수 표현, 무리수 허수 표현 등)

함수는 특성상 가장 마지막에 계산된다. 함수의 정의역을 받는 괄호는 위에서 얘기한 괄호와 우선순위가 똑같기 때문.

혼합 계산 문서도 참고하면 좋다.

3. 용례

사칙연산과 괄호로 된 간단한 식을 모양만 좀 비틀어 세계 수학계 안팎을 혼돈의 카오스로 만든 사례로 48÷2(9+3)가 있다.

111+1×2=224 같은 경우에는 방송국에서 실수로 오답을 낸 경우. 정답은 1x2=2에 111을 더해서 113이다.

수포자들이 "수학은 사칙연산만 하면 돼!"라는 망언을 하지만, 당장 2자리 곱셈/나눗셈을 시도해 보면 그마저도 틀리는 사람들을 볼 수 있다. 만일 2자리로 나왔다면 천재가 아닌 이상 암산을 할 경우에는 둘 중 한쪽은 한 자리 수로 바꿔서 한 다음 합치는 방법을 쓰는 게 일반적이다.

기본 사칙연산을 초등학교 고학년 때까지 떼지 못한다면[17] 난산증을 비롯한 학습장애나, 혹은 지능발달 자체를 의심해 봐야 한다. 이런 부류는 고등학교 때 까지도 사칙연산을 제대로 못하는 경우가 있다.

사칙연산과 미분/ 적분, 분배법칙을 묶어 선형 변환이라고 한다.

4. 관련 문서



[1] 미분방정식에서는 기울기(gradient) [2] 미분방정식에서는 발산(divergence) [3] 미분방정식에서는 회전(curl) [4] 즉 괄호 안에서도 이 우선순위가 유지된다. 간단한 예로 괄호 안에 또다시 괄호와 다른 연산이 혼재한다면 괄호 안에서도 다시 괄호를 우선으로 계산해야 한다. [5] 이 법칙은 괄호 형태로 표현되는 항인 행렬에도 똑같이 적용된다. 즉 행렬 내부의 식을 먼저 계산해야 하는 것. [6] 밑이 문자(π, e 등)가 포함된 단항식 또는 다항식이거나, 수 자체가 복잡한 형태(대표적으로 무리수)인 경우 [7] 초등학교 때는 나오지 않을 단계이므로 보통 일단은 생략하고 가르친다. 아주 잘 알고 있던 원래 규칙에 중학교 때 어느샌가 이게 더해져 멘붕을 유발한다. [8] 추가적으로, 팩토리얼(계승)이나 테트레이션과 같은 곱셈 기호의 상위 호환인 모든 연산은 이 순서에 들어간다. 또한 지수에 복소수가 들어가는 경우 맨 뒤 순서로 보낸다. [9] 행렬곱, 내적, 외적, 기울기, 발산, 회전 같은 "덧셈이 들어가는 특수한 곱셈"에도 3, 4의 내용이 적용된다. [10] 단, 함수의 합성은 오른쪽에서 왼쪽으로 한다. [11] 미국은 주로 이걸 쓴다. [12] 일단 괄호부터가 명칭이 여러 개다. brackets라고 부르는 나라도 있고 parentheses라고 부르는 나라도 있다. (대표적으로 미국이 후자를 쓴다.) 두번째 오는 지수는 더 가관인데, indices, exponents, orders, 등등등. 심지어 명칭이 어디나 똑같은 곱셈/나눗셈(Multiplication/Division)도 둘이 같은 레벨이다 보니 순서를 바꾸어 MD가 DM이 되는 일이 있다고 한다. (BODMAS나 BEDMAS가 될 수 있다는 말.) 다행히 덧/뺄셈에 해당하는 Addition/Subtraction은 순서가 바뀌는 일이 없는 듯하다. [13] 1+2=3을 예를 들자면 1에 무엇을 할 것인가? 더한다. 무엇을? 2를. 그러면 어떻게 되는가? 3이 된다. 즉 수식의 진행과정이 순차적으로 쉽게 확인이 가능하기 때문이다. [14] 반면에 후위 표기법은 컴퓨터가 처리하기 편리하다. [15] [math(\displaystyle{\overline{a+b}}\times c)]라고 씀으로써 [math(a+b)]를 [math(\times c)]보다 먼저 계산하라고 표기하는 식이다. 과거에는 괄호보다 보편적으로 쓰였으나 현재에는 거의 쓰이지 않아 제곱근에만 그 흔적이 남아있다. [16] 프로그래머라면 C++; 같은 표현으로 친숙할 것이다. [17] 단, 분명히 완벽히 할 줄은 아는데 실수해서 틀리는 경우가 많다면 본인이 하기 싫어서 대충 하거나 꼼꼼하지 못한 성격 때문일 가능성이 높으며, 중학교 2학년 이후 수학을 못하는 건 어려운 수학에 굴복한 포기의 결과일 가능성이 높다.

분류