본문 바로가기
카테고리 없음

node.js - 산술연산

컴퓨터는 처음부터 계산(연산)을 위해 탄생했다고 해도 과언이 아닙니다.
군사 기밀 암호를 풀기 위해, 대포의 탄도 계산을 위한 군사목적으로 시작해서 지금에 와서는 은행에 돈을 맡기거나 찾는 수단으로도, 최근 화두에 오른 비트코인 채굴에도 활용되고 있습니다.

그만큼 컴퓨터를 통한 연산 기능은 매우 빈번하게 사용되고 있습니다.

컴퓨터의 연산기능은 산술 연산문자열연산, 논리 연산이 있는데요.
( 논리연산은 책의 범위에서 벗어나므로 제외합니다.)

산술 연산은 사칙연산에 해당하는 덧셈, 뺄셈, 곱셈, 나눗셈을 비롯하여
제곱이나 제곱근, 지수함수, 삼각함수, 로그함수 등 다양한 연산을 말합니다.

이 책자에서는 사칙연산 등 기본 연산 외에는 사용할 일이 없으니 삼각함수, 로그함수 같은 것은 제외하도록 하겠습니다. 

+, -, *, /
사칙연산에 해당, +(덧셈), -(뺄셈), *(곱셈), /(나눗셈)
예시)
a= 2+3; // 5
b=3-2; // 1
c=7*5; // 35

d=12/5; // 2.4

 사칙연산은 말 그대로 덧셈, 뺄셈, 곱셈, 나눗셈을 하는 연산 기호입니다.
아래는 2와 3을 더해서 변수a에 대입하는 것을 말합니다.

a = 2+3;

 이러한 산술연산은 대부분 변수에 들어 있는 값을 꺼내 다시 연산하는 방식으로 활용되고 있습니다.

a=4
b=1
c=a-b; // 3 대입

 곱셈은 수학에서는 × 기호이지만 컴퓨터언어에서는 * (asterisk:아스테리스크) 기호를 사용합니다.
보통 ‘별표’라고도 부르지요. ‘*’ 기호는 키보드에서는 shift + 숫자8을 입력하시면 되는데요.

덧셈과 마찬가지로 좌측과 우측의 숫자를 더해 결과를 산출합니다

b=3*44; // 132 대입


수학과 다르게 곱셈 기호는 생략할 수 없습니다.

x=5;
y=2x; // 오류발생, y=2*x; 로 코딩하여야 합니다.

 나눗셈은 수학에서는 ÷ 기호이지요. 컴퓨터언어에서는 ‘/’(slash:슬래시) 기호를 사용합니다.

좌측의 숫자를 우측의 숫자로 나누어 결과를 산출하는데요. ( A/B )
아래 코드는 512 를 8로 나눈 것을 의미합니다.

c=512/8;  // 64 대입


슬래시 기호는 분수로 표현된 수식의 분수기호선을 빙그르르 45도 돌렸다고 이해하시면 아주 쉽습니다.

++, --
증감연산자, ++(더하기 1), --(빼기 1)
예시)
a= 10;
a++; // 11
++a; // 12
a--; // 11

컴퓨터언어에서 가장 많이 사용되는 연산중 하나는 1을 더하는 연산입니다.
변수a가 있으면 a에 1을 더해 다시 넣어주는 것인데요.

a=a+1;

위 식을 아래와 같이 간단히 표기할 수 있습니다.
변수a에 값에 1을 더해준다고 생각하시면 되는데,
사람이 볼 경우에도 직관적이라 코드를 빠르게 분석하는데 도움이 됩니다.

a++;

++기호는 변수의 뒤뿐 아니라 앞에도 사용할 수 있는데요.

++a;

두가지가 약간 차이점이 있습니다.
연산식에 변수의 값을 먼저 사용하고 나중에 1을 더할 경우는 아래와 같이 사용하고,

a=5;
b=10 + a++; // b=15, a=6

변수의 값에 먼저 1을 더하고 연산식에 사용할 경우는 아래와 같이 사용합니다.

a=5;
b=10 + ++a; // b=16, a=6

이 방식은 원래 C, C++언어에서 매우 빠른 초고속 연산이 필요한 경우 사용하는 방식이기 때문에, 자바스크립트에서는 사용되지 않습니다. 이해가 어렵기 때문이죠.
보통 코드를 나누어서 작성하는 것이 일반적입니다.

a=5;
++ a;

b=10 + a;


반대로 1을 뺄 경우에는 아래와 같은 연산식을 사용합니다.

a--; 또는 --a;

 

거듭제곱
**
예시)
a= 2**3; // 8

 거듭제곱이 가물가물하신 분, 전혀 기억이 안난다 하시는 분 모두 전혀 겁먹지 마시기 바랍니다.
아주 쉼게 이해시켜드리겠습니다.

2*2 는 4입니다. ( * 는 곱하기 )
2*2*2 는 8이지요.
그리고, 2*2*2*2 는 16입니다.
각각의 2의 제곱, 2의 3제곱, 2의 4제곱이라고 부르는데요.
2의 n제곱이란 2를 n개 곱한 것을 말합니다. 그리고 이것이 바로 거듭제곱입니다.

자바스크립트는 거듭제곱을 **로 표현합니다. (거듭제곱 기호는 컴퓨터언어마다 다릅니다)

그래서 2의 8제곱을 연산 기호로 표현하면 2**8 로 적어주는데, 2를 8번 곱한 것을 말하지요.
자바스크립트로 2의 8제곱을 계산해볼까요?

o=2**8;
console.log(o);

256이라는 결과를 얻을 수 있습니다. 2*2*2*2*2*2*2*2 는 256입니다.

나머지
%
예시)
p=37%8

 % 연산자는 나머지를 구하는 연산기호입니다.
A % B 라고 표현하면 A를 B로 나눈 나머지를 계산해 주는데요.
아래와 같이 사용합니다.

p=37%8;
console.log(p); // 37을 8로 나누면 몫은 4고, 나머지는 5입니다. 결과5가 출력됩니다.

끝~


필요하신 분에게 도움이 되시길 바랍니다. 그러면 이만 :)

도움이 되셨다면 공감 한방, 댓글은 굿잡!
감사합니다~


다음 게시글 : https://itadventure.tistory.com/478

 

node.js / 자바스크립트 - 연산순위

연산자 우선순위 1+2*3은 얼마일까요? 곱셈이 먼저 계산됩니다. 예시) q=1+2*3; // 7 1 + 2 * 3 은 덧셈과 곱셈중 2 * 3이 먼저 계산되기 때문에 1+2 * 3 → 1 + 6 → 7 입니다. 이처럼 연산식을 차례대로 나열

itadventure.tistory.com