본문 바로가기

분류 전체보기18

부동 소수점 데이터 표현 방식 C언어의 변수 중 실수형 변수(flaot)가 있다. 이 변수는 실수를 소수점까지 표현하기 위해서 만들어진 변수이다. 오늘 알아볼 부동 소수점 데이터 표현 방식도 마찬가지로 영어 'floating'을 번역한 것으로 소수점에 대해서 다룬다. 부동 소수점 데이터 표현 방식은 고정 소수점 데이터 표현 방식에 비해 데이터 용량을 더 많이 차지한다는 단점이 있지만 대단히 큰 수나 작은 수의 표현이 가능하므로 보다 정밀한 수를 표현하기에 적합하다. 32비트에 표현할 경우 부호 비트에는 1비트, 지수부에는 8비트, 가수부에는 23비트가 할당된다. 부호 비트에는 양수이면 0, 음수이면 1을 표시하고, 지수부에는 지수 값이 127을 더한 값을 저장한다. 가수부는 표현할 수를 2진수로 변환한 뒤 정규화 과정을 통하여 소수점.. 2024. 3. 19.
10진수 표현 방식 컴퓨터 내에 입출력이 빈번할 경우 2진수로 변환하지 않고 10진수 형태로 연산이 가능하다. 10진수 표현 방식은 두 가지로 나뉘는데 팩 10진 형식과 언팩 10진 형식의 방법이 있다. 팩 10진 형식 10진수 한 자리를 4비트로 표현하고 가장 오른쪽 4비트에 부호를 표시한다. 양수는 16진수 C, 음수는 16진수 D로 표현한다. 예시로 다음과 같이 표현할 수 있다. (295)(10)를 팩 10진 방식으로 표시한다면 (16비트 기준) 10진수 각 한 자리를 4비트 2진수로 표현한다. 2, 9, 5를 2진수로 변환해 보면 10, 1001, 0101이 나온다. 16비트로 표시할 시 0010 1001 0101이 된다. 여기서 10진수 295는 양수이기 때문에 부호는 1100을 붙여준다. 따라서 최종 표시한다면 .. 2024. 3. 19.
2의 보수를 사용하면 좋은 점 결론부터 말하면 1의 보수보다 효율이 좋기 때문이다. 먼저, 컴퓨터는 0 또는 1로만 의미를 전달하는데 이유는 가장 간단한 방법이기 때문이다. 스위치 ON/OFF를 생각하면 쉽다. 우리가 LED 불을 켜는데 이것저것 누를 필요 없이 스위치를 올렸다 내리는 것처럼 말이다. 그래서 필자는 컴퓨터는 의외로 단순하다고 생각한다. 보수를 배워야 하는 이유 (feat. 보수 구하기) 우리 인간들은 사칙연산(더하기, 빼기, 곱하기, 나누기)이 쉽게 된다. 근데 컴퓨터는 그렇지 않다. 컴퓨터 입장에서 빼기 계산을 하는 건 매우 어렵다. 그러나 더하는 건 쉽다. 컴퓨터에서 빼기를 하기 위해서 보수를 배운다. 진보를 알기 위해서가 아니다. 1의 보수는 0을 1로, 1을 0으로 변환하는 것이다. 2의 보수는 1의 보수에서 .. 2024. 3. 17.
자료의 표현 단위 컴퓨터 내부에서 사용하는 물리적 단위는 8개로 물리적 단위인 비트, 니블, 바이트, 워드와 논리적 단위인 필드, 레코드, 파일, 데이터베이스로 구분한다. 다음은 크기순으로 정렬한 자료의 표현 단위이다. 비트(bit) : 캡슐세제가 아니다. 컴퓨터 세상 속에서 정보 표현의 최소 단위로, 2 진수. 즉, 0 또는 1을 나타낸다. 니블(nibble) : 1/2바이트를 의미하며, 1 니블은 4비트이다. 바이트(byte) : 컴퓨터에서 사용되는 자료의 기본 저장 단위로, 1바이트는 2 니블을 의미하며, 1바이트는 8비트이다. 워드(word) : CPU가 한 번에 처리하는 명령어의 기본 단위이다. 필드(field) : 파일 구성의 최소 단위로 항목(item)을 의미한다. 레코드(recode) : 하나 이상의 필드들.. 2024. 3. 17.