수와 연산 Numbers and Operations | |||
{{{#!wiki style="margin: 0 -10px -5px; min-height: calc(1.5em + 5px)" {{{#!folding [ 펼치기 · 접기 ] {{{#!wiki style="margin: -5px -1px -11px" | <colbgcolor=#765432> 수 체계 | 자연수 (수학적 귀납법 · 홀수 · 짝수 · 소수 · 합성수) · 정수 · 유리수 (정수가 아닌 유리수) · 실수 (무리수 · 초월수) · 복소수 (허수) · 사원수 | |
표현 | 숫자 (아라비아 숫자 · 로마 숫자 · 그리스 숫자) · 기수법(자연어 수 표기법 · 과학적 표기법 · E 표기법 · 커누스 윗화살표 표기법 · 콘웨이 연쇄 화살표 표기법 ·BEAF · 버드 표기법) · 진법 (십진법 · 이진법 · 8진법 · 12진법 · 16진법 · 60진법) · 분수 (분모 · 분자 · 기약분수 · 번분수 · 연분수 · 통분 · 약분) · 소수 {유한소수 · 무한소수 (순환소수 · 비순환소수)} · 환원 불능 · 미지수 · 변수 · 상수 | ||
연산 | 사칙연산 (덧셈 · 뺄셈 · 곱셈 구구단 · 나눗셈) · 역수 · 절댓값 · 제곱근 (이중근호) · 거듭제곱 · 로그 (상용로그 · 자연로그 · 이진로그) · 검산 · 연산자 · 교환자 | ||
방식 | 암산 · 세로셈법 · 주판 · 산가지 · 네이피어 계산봉 · 계산기 · 계산자 | ||
용어 | 이항연산(표기법) · 항등원과 역원 · 교환법칙 · 결합법칙 · 분배법칙 | ||
기타 | 수에 관련된 사항 (0과 1 사이의 수 · 음수 · 작은 수 · 큰 수) · 혼합 계산 (48÷2(9+3) · 111+1×2=224 · 2+2×2) · 0으로 나누기(바퀴 이론) · 0의 0제곱 | }}}}}}}}} |
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이라고 하며, 중국에서는 사칙운산(四则运算)/가감승제(加减乘除)라고 한다.
복소수, 실수, 유리수 집합은 사칙 연산에 대해 닫혀 있다. 물론 0으로 나누는 것은 제외한다.
사칙연산 중 덧셈과 곱셈은 가환연산이고(2+3 = 3+2, 2×3 = 3×2), 뺄셈과 나눗셈은 비가환연산이다(2-3 ≠ 3-2, 2÷3 ≠ 3÷2).
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]
일반용 계산기는 수식을 넣으면 순서대로 계산하므로[일반용] 이런 문제가 없으나 공학용 계산기는 무조건 계산의 우선순위를 적용하므로 답이 달라질 수 있다.[공학용] 공학용 계산기용 계산의 우선순위는 10단계가 넘어가므로 그냥 계산기 설명서를 보자.[15]
3. 우선 순위의 이유
사칙연산에서는 덧셈과 뺄셈은 순서대로 하되, 곱셈이나 나눗셈이 붙어있다면 왜 곱셈이나 나눗셈을 먼저 하라고 할까?일단 나눗셈도 엄밀히 따지면 일종의 곱셈이다. n 곱하기 소수점을 한다면 해당 실수가 그대로 나눠지게 되니까 말이다.
어찌되었든, 임의의 식을 만들어보자.
1+[math(\dfrac 12)]
이는 나눗셈으로 말하자면 1+1÷2가 된다. 곱셈으로 하자면 1+1x0.5가 된다.
즉 1+[math(\dfrac 12)] = 1+1÷2 = 1+1x0.5라는 말이다.
허나 이때 사칙연산에서 곱셈(혹은 나눗셈)에 우선순위를 두지 않으면? 위에 있는 저 식은 서로 엉망이 된다. 애초에 [math(\dfrac 12)]과 1÷2과 1x0.5는 같은 말이다. 그런데 그걸 앞에 덧셈 하나를 두었다고 서로 다른 값이 된다면? 공리가 무너진다는 소리와 같다.
그래서 사칙 연산에서는 곱하기를 우선 순위에 두는 것이다.
3.1. 상세
왜 곱셈과 나눗셈을 먼저 하냐면, 그렇게 정했기 때문이다.수식을 표현하는 방법에는 여러 방법이 있는데, 일반적으로 우리가 사용하는 방법은 '중위 표기법(infix notation)'이라고 한다.
중위 표기법이란, 수식을
[math(1+2\times 3)] |
[math(+ 1 \times 2~ 3)] |
[math(1 ~2~ 3 \times +)] |
전위 표기법과 후위 표기법은 연산의 우선순위를 수식의 순서에 따라 표현할 수 있다.는 장점이 있는데 그 대신, 아주 심각한 문제가 하나 있다. 띄어쓰기를 제대로 안하면 수식이 구분이 안된다. 예를 들어 12+3 을 전위 표기법으로 하면 + 12 3 가 되는데, 띄어쓰기를 잘못하면 +123 이 되고 이는 12+3 과 1+23 을 구분할 수 없게 된다. 띄어 쓰기를 정확하게 해주던가, 구분을 위한 구분자를 써서 +12,3 등의 방법으로 써야 한다.
하지만, 중위 표기법은 연산의 우선순위를 표현하는 것은 불가능하다. 오랫동안 중위 표기법을 써 와서 그래왔는지, 아니면 인간이 보기에 그런지는 몰라도[16] 중위 표기법이 사람이 보기에 편하므로[17], 우선순위를 표현할 수 있는 전위와 후위 표기법 대신 중위 표기법을 사용하고 있다.
중위 표기법은 표기 자체만으로는 우선순위를 지정할 수 없다. 우선순위를 지정하기 위해서는 괄호나 괄선[18]을 써야 한다. 하지만 매번 그러한 기호를 사용하게 되면 쓰는 사람이나 읽는 사람이나 불편하다. 따라서 일단 곱셈과 나눗셈을 덧셈과 뺄셈보다 우선하게 해, 이러한 혼란을 방지하는 것이다.
그렇다고 해서 곱셈과 나눗셈을 덧셈과 뺄셈보다 우선하는 이유가 있느냐? 답은 없다. 역사적인 산물로 (쓰다보니까) 사람들이 곱셈과 나눗셈을 우선한다라고 정의한 것이다. 덧셈과 뺄셈을 우선해도 상관없다라고 정해졌다면 그렇게 지금까지 이어졌을 것이다. 그렇다면 왜 곱셈과 나눗셈을 우선시하였는가 하면, 복잡한 다항식을 계산하는 경우, 괄호 사용에 있어서 곱셈과 나눗셈을 우선시 하는 것이 괄호 사용을 줄일 수 있었기 때문이다. 옛날에는 곱셈과 나눗셈을 할일이 더 많았기 때문에 계산하기도 그게 더 편했기도 하고.[19]
그런데 현대에 와서는 오히려 단점이 되고 있기는 하다. 처리순서에 따라 나열하면 1+4*8+3/2이면 될걸 (((1+4)*8)+3)/2 같이 쓸데없이 괄호가 더 붙게 된다.
곱셈이 덧셈보다 상위 연산자이기 때문이라는 해석도 있다. 집합론에서 자연수를 정의할때 제일 먼저 나오는 연산은 '다음수'[20]라는 연산이다. 그리고, '덧셈'은 다음수 연산을 반복해서 수행하는 것으로 정의한다. 그리고, '곱셈'은 덧셈을 반복하는 것으로 정의하고, '지수'는 곱셈을 반복하는 것으로 정의한다. 즉, 지수 > 곱셈 > 덧셈 > 다음수연산 이라는 연산 차원이 자연스럽게 만들어진다. 높은 차원의 연산을 먼저 수행하는 것은 지극히 당연한 귀결이다. 여기에 비추어볼 때, 그 다음 연산인 테트레이션은 지수보다 계산 순서가 우선한다고 볼 수 있다.
이러한 연산 규칙은 프로그래밍 언어에도 그대로 적용이 된다. 다만 언어에 따라 다소의 차이점이 있기는 하다. (주로 지수 표현, 무리수 및 허수 표현 등)
함수는 특성상 가장 마지막에 계산된다. 함수의 정의역을 받는 괄호는 위에서 얘기한 괄호와 우선순위가 똑같기 때문.
혼합 계산 문서도 참고하면 좋다.
4. 용례
사칙연산과 괄호로 된 간단한 식을 모양만 좀 비틀어 세계 수학계 안팎을 혼돈의 카오스로 만든 사례로 48÷2(9+3)가 있다.111+1×2=224 같은 경우에는 방송국에서 실수로 오답을 낸 경우. 정답은 1x2=2에 111을 더해서 113이다.
수포자들이 "수학은 사칙연산만 하면 돼!"라는 망언을 하지만, 당장 2자리 곱셈/나눗셈을 시도해 보면 그마저도 틀리는 사람들을 볼 수 있다. 만일 2자리로 나왔다면 천재가 아닌 이상 암산을 할 경우에는 둘 중 한쪽은 한 자리 수로 바꿔서 한 다음 합치는 방법을 쓰는 게 일반적이다.
기본 사칙연산을 초등학교 고학년 때까지 떼지 못한다면[21] 난산증을 비롯한 학습장애나, 혹은 지능발달 자체를 의심해 봐야 한다. 이런 부류는 고등학교 때 까지도 사칙연산을 제대로 못하는 경우가 있다.
사칙연산과 미분/적분, 분배법칙을 묶어 선형 변환이라고 한다.
5. 관련 문서
[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은 순서가 바뀌는 일이 없는 듯하다.[일반용] 일반용 계산기에서의 2+2×2의 답은 8.[공학용] 공학용 계산기에서의 2+2×2의 답은 6.[15] 위에 말한 것과 기본적인 틀은 같다.[16] 1+2=3을 예를 들자면 1에 무엇을 할 것인가? 더한다. 무엇을? 2를. 그러면 어떻게 되는가? 3이 된다. 즉 수식의 진행과정이 순차적으로 쉽게 확인이 가능하기 때문이다.[17] 반면에 후위 표기법은 컴퓨터가 처리하기 편리하다.[18] [math(\displaystyle{\overline{a+b}}\times c)]라고 씀으로써 [math(a+b)]를 [math(\times c)]보다 먼저 계산하라고 표기하는 식이다. 과거에는 괄호보다 보편적으로 쓰였으나 현재에는 거의 쓰이지 않아 제곱근에만 그 흔적이 남아있다.[19] 가령 8명에게 쌀3석을 나눠주고 3명에게는 쌀 2명씩 나눠주고 자신에게 1석 이럴경우 (8*3)+(3*2)+1이 8*3+3*2+1로 간단히 표기된다[20] 프로그래머라면 C++; 같은 표현으로 친숙할 것이다.[21] 단, 분명히 완벽히 할 줄은 아는데 실수해서 틀리는 경우가 많다면 본인이 하기 싫어서 대충 하거나 꼼꼼하지 못한 성격 때문일 가능성이 높으며, 중학교 2학년 이후 수학을 못하는 건 어려운 수학에 굴복한 포기의 결과일 가능성이 높다.