보수(complement) 컴퓨터에서 음수를 직접적으로 표현할 수 없기 때문에 부호 비트를 지정하여 양수에 대한 음수는 2의 보수(tow's complement)를 사용하여 나타낼 수 있습니다. 보수는 어떤수를 보충하여 완전수를 만들게 하는 수로 1의 보수와 2의 보수 방법이 있으며 어떤수에 대응하는 음수의 이진수 표현은 2의 보수 방법을 적용합니다. 1의 보수 ⇒ 값의 반전, 즉 0 → 1, 1 → 0 예를 들어 4비트에서 완전수는 1111(2)이 됩니다. 그러므로 0010(2)에 1의 보수를 더하면 다음과 같이 완전수가 됩니다. 0 0 1 0 + 1 1 0 1 (1의 보수) 1 1 1 1 (완전수) 2의 보수⇒ 1의 보수 결과 + 1 (2) 예를 들어 위의 1의 보수법에 의한 결과인 1101 (2) 에 1 (2) 를 더하면 1110 (2) 이 됩니다. 기준이 되는 최왼쪽에 있는 비트는 부호를 나타내는 것으로 1이므로 음수임을 나타냅니다. 이 음수값을 직접적으로 십진수로 전환할 수 없습니다. 그러므로 이 값을 알기 위해서는 다시 2의 보수를 결정합니다. 1 1 1 0 1의 보수 → 0 0 0 1 2의 보수 + 0 0 0 1 2 ⇐ 0 0 1 0 위 결과 1110 (2) 의 부호변환 결과는 2이므로 -2가 됩니다. 예) 16비트를 기준으로 2의 보수를 사용하여 십진수 7의 음수인 이진수를 결정해봅니다. 0 0 0 0 … 0 1 1 1 7에 대한 2의 보수: 1 1 1 1 … 1 0 0 1 ⇒ -7 -7의 2진수를 십진수로 확인하기 위해서는 다시 2의 보수를 적용합니다. -7에 대한 2의 보수: 0 0 0 0 … 0 1 1 1 ⇒ 7 numpy 패키지의 binary_repr() 함수를 적용하여 확인할 수 있습니다. from numpy import binary_repr binary_repr(-7, width=16) '1111111111111001'...
python 언어를 적용하여 통계(statistics)와 미적분(Calculus), 선형대수학(Linear Algebra)을 소개합니다. 이 과정에서 빅데이터를 다루기 위해 pytorch를 적용합니다.