이번엔 산술연산자1에 이어서 곱셈과 나눗셈을 한다.

 

1. 곱셈

곱셈은 * 를 기호로 사용한다 x가아니다.

(이전편에서부터 그러하였으나 // 는 주석이다. 앞으로 print문의 출력은 되도록 주석을 통해 적도록 하겠다.)

 

let result = 3 * 5 

print(result) // 15

 

별 다를바 없는 평범한 곱셈이다.

 

이전편의 타입을 생각해서 하자면 

두 곱은 항상 같은 타입끼리만 가능하다. ( 다른 사칙연산도 마찬가지다 )

 

데이터 타입에 대해 이야기할때 다루지 않았지만 각 타입의 변수는 저장가능한 범위가 있다.

float는 타입에 대해 이야기할때 실수인 double보다 작은 범위의 실수를 가지는 타입이다. 해당 타입의 범위가 넘어가면 제대로된 값이 담아지지않는다.

큰 수를 다루게 된다면 항상 타입의 범위에대해 생각해두자.

 

해당 범위는 이글에서 다루지 않겠다.

 

 

 

2. 나눗셈

나눗셈은 / 를 기호로 사용한다 ÷ 가 아니다.

/도 사실 타입에 따라 좀 다른식으로 계산이 된다

만약 정수형 타입의 두 수를 나눗셈을 시도했다면( ex : let b = 6 / 4 )

해당 결과는 몫만이 들어가게된다.(b는 1)

 

만약 위의 나눗셈 예제에서 몫을 제외한 나머지를 구하고싶으면 기호 % 를 사용하면된다 

ex: let c = 6 % 4 // 2

 

정수형이 아닌 실수형끼리 나눗셈을 하면 원래 나눗셈의 원하는 결과처럼 소수점까지 잘 나오게된다.

ex: let d = 6.0 / 4.0 // 1.5

 

나눗셈에서 주의할 점은 0으로 나눠서는 안된다.

예시들 처럼 숫자로 바로 표현되어서 0으로 나눠지려고 할때 눈으로 바로 알 수 있지만 

변수 끼리 나눗셈을 하게될 경우가 왕왕 생기기에 필요시 나누는 수에 대한 체크는 꼭 해야할것이다.  해당 부분은 나중에 다룰 예정이다.

 

 

3. 사칙연산 축약 

사칙 연산이 끝났다.

해당 사항을 이용해서 짧게 쓰는 축약에 대해 이야기 하려한다

swift의 문서에서는 지금 쓰려고 하는 기호를 Compund Assignment Operator라고 부른다.

복합 할당 연산자라고 부르는데

 

아래와 같다

 

두 정수 e와 t를 정의하고 

var e = 5

let t = 5 

 

e에 다가 t의 값을 더한 값을 다시 변수e에 넣으려고할때 

기존이라면 아래와 같다.

 e = e + t // 10

이런식으로 하면 우선 등식의 우측란이 먼저 계산되고 

좌측란의 e에 할당 연사자인 = 를 통해 e에 할당된다.

 

e = e + t 를 축약해보자면  e += t 와 같이 쓸 수 있다.

 

+= 는 좌측의 변수에 우측 값을 더한 값을 저장한다.

-= 는 좌측의 변수에 우측값을 빼한 값을 저장한다.

*= 는 좌측의 변수에 우측값을 곱한 값을 저장한다.

/= 는 좌측의 변수에 우측값을 나눈 값을 저장한다.

 

ex)

e와 t를 각각 5로 정의한다. e는 변수로(var) t는 상수로(변하지 않는 수 let)

var e = 5

let t = 5 

 

위에서 부터 아래로 순서대로 계산이 진행된다면 

e += t // 5 + 5 = 10

e -= t // 10 - 5 = 5

e *= t // 5 * 5 = 25

e /= t // 25 / 5 = 5

 

print(e) // 5 

 

산술 연산자는 여기서 마무리 짓고 덤으로 적은 복합 할당 연산자도 끝이나 

다음은 비교 연산자를 다루겠다.

 

 

 

 

 

 

 

 

+ Recent posts