분류 전체보기68 [Parallel Computing] (5) Floating Point Representations 이번 글에서는 Floating Point을 나타내는 방법에 대해서 알아보겠다. 과학적 표기법(Scientific Notatation)은 크기가 아주 작거나 아주 큰 수를 나타내는 방법이다. 이를 표현하기 위하여 아래와 같이 표기 할 수 있다. 1) a 는 실수로서 가수(mantissa) 혹은 계수로(coefficient)라 표현한다. 2) b 는 양의 정수로서 기수(base)라 표현한다. 3) n 은 정수로서 지수(Exponent)라 표현한다. 소수점의 위치가 고정되어 있지 않으므로 같은 숫자라도 서로 다르게 표현가능하다. 예를 들어 아래와 같이 서로 다른 a,b,n으로 표현 가능하다. 0.245 = 0.245 * 10^0 = 2.45 * 10^1 = 24.5 * 10^2 정규화된 과학적 표기법(Norm.. 2024. 4. 16. [Parallel Computing] (4-3) Arithmetic Operation(2) 이번 글에서는 Addition, Multiplication 그리고 Division에 대해서 알아보겠다. 1. Addition Unsigned Binary Integer에서의 덧셈(Addition)은 일반적인 decimal 숫자의 덧셈과 비슷하다. 각 자리에서부터 덧셈을 수행하고, 오버플로우가 발생하면 다음 자리로 전달하여 덧셈을 수행한다. 최종적인 결과 값은 MSB에서 발생한 Overflow와 n-bit data 값이 생성된다. 이를 수학적으로 풀어보면 modulo 2^n addition과 같다. x + y 가 n-bit으로 표현 가능한 0 2024. 4. 14. [Parallel Computing] (4-2) Arithmetic Operation(1) 이번 글에서는 전반적인 Arithmetic Operation에 대해서 살펴보겠다. 1. Modular Arithmetic Modular Arithmetic은 정수의 합과 곱을 어떤 주어진 수의 나머지에 대하여 정의하는 방법이다. 나머지를 정의하는 방법이기 때문에, 나눗셈(Euclidean division)을 사용한다. 주로 mod라고 표현한다. Euclidean division은 두 개의 정수 m, n(0이 아닌)이 존재할 때, m = q*n + r 그리고 0 < r < |n| 을 만족시키는 유일한 정수 q, r이 존재한다. 다시 말하면, 정수 m 을 n 으로 나눴을 때, 몫은 q, 나머지는 r이다. 0으로 나눌 수 없기 때문에 n은 0이 아니여야 하며, 나머지 r은 몫 q보다 작으므로 위와 같이 표기하.. 2024. 4. 14. [Parallel Computing] (4-1) Binary Representation 이번 글에서는 Binary Representations에 대해서 알아보겠다. n-bit을 이용하면, 2^n개의 서로 다른 binary 숫자를 표현할 수 있다. 부호가 없는 바이너리 숫자인 경우, 0을 포함하여 2^n개의 양수로 표현 가능하다. 그러나 부호가 있는 바이너리 숫자인 경우, 음수, 0, 양수를 모두 표현해야 한다. 일반적으로 MSB(Most Significant Bit)은 부호를 나타내는 bit으로 사용하고, 나머지는 해당 숫자의 크기를 나타낸다. 컴퓨터 하드웨어를 가능하면 간단하게 만들기 위하여 2's complement 표현 방법을 주로 사용한다. 왜 2's Complement를 사용하면 하드웨어가 간단해지는지 차근차근 설명해도록 하겠다. 부호가 있는 바이너리를 표현하는 방법에는 여러 가지.. 2024. 4. 13. 이전 1 ··· 6 7 8 9 10 11 12 ··· 17 다음