목록Today I Learned (12)
한결과 레지아이스

오늘도 스위프트 문법에 대해 조금 더 공부해봤습니다! 1. Protocol & Extension Protocol과 Extension이라는 개념에 대해서 다룰 건 아니고, 새로 알게된 점을 하나만 짚고 넘어가려 합니다. Protocol에서는 프로퍼티나 메서드를 정의할 수는 없고, 프로퍼티의 경우에는 이름과 타입, get/set을 가지는지 여부를 정해주며, 메서드의 경우 이름과 매개변수, 그리고 반환 타입을 정해줄 수 있습니다. 하지만 이 프로토콜에 Extension을 사용하면, 연산 프로퍼티로 기본 값을 정해줄 수 있습니다! 요런 식으로요! 프로토콜엔 let은 안되고 var만 넣어줄 수 있으며, get/set 둘 다 없이는 안만들어지더라고요. 그리고 Extension안에서도 Computed Property..

오늘은 부동소수점에 대해 공부했습니다. 왜 부동 소수점(floating point)라고 부를까? 그와 반대되는 고정 소수점(fixed point)을 보면 이해할 수 있습니다. 4개의 비트를 사용해 (2진)소수를 표현한다 가정하고 예시를 들어보겠습니다. 2개의 비트는 소수점 왼쪽의 정수부를, 2개의 비트는 소수점 오른쪽의 분수부를 표현하는데 사용할 수 있습니다. 이런식으로 표현하게 되면 소수점의 위치가 항상 동일합니다. 비트가 4개 뿐이라 표현범위가 좁아 보이지만, 비트 수가 충분하다면 소수를 표현하기 좋은 표현법이라고 합니다. 실제로 고정 소수법을 사용하는 컴퓨터가 있기도 하고요. 하지만 쓸모 있는 범위의 소수를 표현하기 위해 너무 많은 비트 수를 필요로 하기에, 일반적인 컴퓨터는 조금 더 효율적인 부동..
오늘은 많이 볼 시간이 없어서 짧게 2의 보수 표현법에 대해서만 공부했습니다. 2의 보수 표현법은 비트로 음수를 표현하는 방법 중 하나입니다. 다른 표현법으로는 부호와 크기 표현법, 1의 보수 표현법이 있습니다. 그런데 부호와 크기 표현법은 덧셈 등 연산에 문제가 있고, 또 0과 -0으로 0의 표현법이 두 개 존재한다는 것도 문제입니다. 1의 보수 표현법도 0을 두 가지 방식으로 표현하고, MSB쪽에서 올림이 생기는 경우에 복잡해져서 문제가 있습니다. 그래서 현대 컴퓨터에선 이 두 표현법을 사용하지 않는다 합니다. 그 대신 사용하는게 2의 보수 표현법입니다. 평소에 코딩을 할 때, INT_MAX 값에 1을 더해 오버플로우를 일으키면 INT_MIN 값이 나오게 됩니다. INT_MAX를 비트로 표현하면 0 ..