자료의 표현
- 데이터 - 사실 및 개념을 표현하는 숫자나 문자 - 010-4615-0301(그냥 번호)
- 정보 - 데이터에 의미가 부여된것, 쓸모있는것 - (비밀번호, 주민등록 번호 등)
- 임국현의 전화번호를 검색 → 010-4615-0301 → 전화를 한다.
- 컴퓨터는 데이터를 표현하기 위해 숫자나 문자를 1,0의 이진법으로 코드화
- 1,0으로 코드화 된것을 기억장치에 저장, 필요에 따라 검색하여 인간이 이해할수 있도록 변환
- 이를 위해 10진수 → 2진수 변환을 공부함
진법의 체계
10진법 체계- 10이되면 상위로 자리올림(Carry)이 일어나는 수의 체계
- 10진수 123은 1의 자리 3개, 10의자리 2개, 100의자리 1개
- 123 = 1*100 + 2*10 + 3*1 = 1*10^2 + 2*10^1 + 3*10^0
- 2진수는 밑수를 2로 나타냄 ex) xxx(2)와 같이 표기
- 10진법과 2진법과의 중간적 역할을 시행하기 위해 만든 진법
- 16진법의 1자리는 2진수의 4자리(bit)에 해당
- 10진수의 각 자리에 해당하는 2진수의 위치값을 4bit로 나타내는 방법을 BCD(Binary Coded Decimal)이라 함
- 10진수 : 105
- 16진수 : 69 (16)
- 8진수 : 151 (8)
자료의 구성
- 비트 - 자료를 나타내는 가장 작은 단위
- 0과 1, 참과 거짓, 스위치의 on/off와 같은 두가지의 상태 값
- 1개 비트는 0, 1 두가지 상태를 나타냄
- 2개의 비트는 00, 01, 10, 11 - 4가지 상태를 나타냄
- n개의 비트는 2^n가지의 정보를 표현할 수 있음.
- 바이트 (byte) - 1개의 영문자, 숫자, 특수기호를 표현하기 위해 필요한 최소 비트개수
- 바이트는 8비트, 2^8=256가지의 상태의 수를 표시
- 알파뱃 대,소문자 52개, 0~9 및 특수문자 일부 표현
- 기억장치 용량을 표시하기도 함 KB, MB, GB, TB
- 워드(Word) - 한글을 표현할때 사용
- 2byte이며 총 2^16 = 65536가지의 상태를 표시
- 필드 (Field) - 논리적 자료 구조의 최소단위, 자료 한개를 구성하는 한 항목
- 레코드 (Record) - 어떤 개체의 사실을 설명하기 위해 필드를 논리적으로 모아 놓은것 (김상훈, 남자, 부천, 29살)
- 사용자가 크기를 임의로 정하는 논리적 레코드
- 주변장치가 사용하는 고정된 단위의 물리적 레코드
- 파일 (File) - 자료처리 목적상 조직적으로 수집된 정보, 즉 레코드의 모임으로서 하나의 단위로 취급되는 연관 레코드의 집합
bit | 한 개의 2진 숫자 0 또는 1 |
byte | 8bit(EBCDIC) |
word | 고정 단어 길이 형식 : 8, 16 혹은 32 가변 단어 길이 형식 : 1 ~256 byte |
숫자 표현방식 - 10진법 형식
2진화 10진코드 (Binary Coded Decimal Representation : BCD)
- 8-4-2-1 코드라고 한다.
- 10진수를 4개의 비트로 구성된 10개의 코드로 구성
- 0: 0000
1: 0001
2: 0010
3: 0011
4: 0100
5: 0101
6: 0110
7: 0111
8: 1000
9: 1001 - ex: 10진수 256을 BCD 코드로 표현
- 0010 0101 0110
비압축 10진 형식 (Unpacked Decimal Format : Zoned Decimal Format)
- 1바이트를 존(zone) 부분과 디지트(digit) 부분으로 구성
- 존 부분에는 항상 F(1111)가 들어가고 디지트 부분에는 10 진수 값이 8421 BCD 코드 형식으로 들어간다.
- 가장 오른쪽 바이트의 존(zone)부분에 부호를 표시한다.
양수(+)는 1100(C), 음수(-)는 1101(D), 부호가 없을 때는 1111(F)
숫자 표현방식 - 10진법 형식
2진화 10진코드 (Binary Coded Decimal Representation : BCD)
- 8-4-2-1 코드라고 한다.
- 10진수를 4개의 비트로 구성된 10개의 코드로 구성
- 0: 0000
1: 0001
2: 0010
3: 0011
4: 0100
5: 0101
6: 0110
7: 0111
8: 1000
9: 1001 - ex: 10진수 256을 BCD 코드로 표현
- 0010 0101 0110
비압축 10진 형식 (Unpacked Decimal Format : Zoned Decimal Format)
- 1바이트를 존(zone) 부분과 디지트(digit) 부분으로 구성
- 존 부분에는 항상 F(1111)가 들어가고 디지트 부분에는 10 진수 값이 8421 BCD 코드 형식으로 들어간다.
- 가장 오른쪽 바이트의 존(zone)부분에 부호를 표시한다.
양수(+)는 1100(C), 음수(-)는 1101(D), 부호가 없을 때는 1111(F)
+1234 | F | 1 | F | 2 | F | 3 | C | 4 |
-1234 | F | 1 | F | 2 | F | 3 | D | 4 |
1234 | F | 1 | F | 2 | F | 3 | F | 4 |
압축 10진 형식 (packed decimal format)
- 연산이 불가능한 비압축 10진법을 압축 10진법 형식으로 변환시켜 연산을 하고, 다시 비압축 10진법으로 변환한다.
- 1바이트에 2개의 디지트를 각각 8421 BCD 코드로 표시
- 가장 오른 쪽 바이트ㅢ 하위 4비트에 부호 표시
- ASCII 코드의 경우: 양수(+)는 1010(A), 음수(-)는 1011(B)
- EBCDIC 코드의 경우: 양수(+)는 1100(C), 음수(-)는 1101(D)
+1234 | 1 | 2 | 3 | 4 | C |
-1234 | 1 | 2 | 3 | 4 | D |
1234 | 1 | 2 | 3 | 4 | F |
숫자 표현방식 - 2진법 형식
숫자를 직접 2진수로 변환하여 표현하는 방법
- 숫자의 크기
- 부호
- 소수점
- 소수점 위치가 고정되어 있는 고정 소수점 (fixed-point) 형식
- 소수점 위치가 이동할 수 있는 부동 소수점 (floating-point)형식
- 소수점의 위치가 특정 위치(자리수)에 고정되어 있다고 가정하고 실수를 표현하는 방식
- ex: 소수점의 위치가 1000이라고 하면, 1230은 1.23으로, 123000은 123으로 표현되는 것이다.
- 2바이트 고정소수점 형식과 4바이트 고정 소수점 형식이 흔히 사용된다.
- 2바이트(16비트) 정수형: 부호부 1비트(bit) + 정수부 15비트(15)
- 4바이트(32비트) 정수형: 부호부 1비트(bit) + 정수부 30비트(bit)
- 소수점의 이치를 고정하지 않고 그 위치를 나타내는 수를 따로 적어내어 실수를 표현하는 방식.
- 유효숫자를 나타내는 '가수부'와 소수점의 위치를 나타내는 '주수부'로 나누어 표현함.
- 고정 소수점 방식에 비해서 넓은 범위의 수를 나타낼 수 있는 것이 특징.
- (가수부)X(밑수)지수부
숫자 표현방식 - 보수
- 보수란?
- 어떤 수 C가 되기 위해 A라는 숫자가 필요로 하는 수.
- 즉, C - A = B 일때, C에 대한 A의 보수는 B라고 한다.
문자 표현방식 - ASCII(American Standard Code for Information Interchange)코드
- ANSI에서 만든 ASCII 라는 표준 코드체계이다.
- 각 문자를 7비트로 표현한다.
- 2의 7제곱인 128개의 문자를 표현할 수 있다.
문자 표현방식 - 확장 2진화 10진코드(EBCDIC)
- 6비트를 사용하는 BCD 코드와는 다르게 8비트를 사용하며, 상위 4비트의 존 비트와 하위 4 비트의 숫자비트로 구성된다.
- 존 비트 AB의 값 - 00: 여분 / 01: 특수문자 / 10: 영어소문자 / 11: 영어대문자
- 존 비트 CD의 값 - 00: 문자 AI(00011001) / 01: 문자 R(00011001) / 10: 문자 S(00101001) / 11: 09(00001001)
문자 표현방식 - 한글표현
완성형 (KSC 5601)- 한글 완성형 표준(한글 2,350자 표현)
- 한국 공업표준 정보처리분야(C)의 5601번 표준안
- 전각문자 / 기호 / 자소 / 선문자 0xA180 ~ 0xAFFF
- 한글영역 0xB0A1 ~ 0xC9FF
- 한자영역 0xCA80 ~ 0xFDFF
- 코드에 자모만을 배당해 두고, 자모의 조합으로 한글을 표현하는 방식
- 글자 하나를 만들 때 초성+중성+종성을 조합해서 만든다.
- 사용빈도와 용량효율성이 떨어진다는 단점이 있다.
문자 표현방식 - 유니코드
- 국제 문자코드
- 사용중인 운영체제, 프로그램, 언어에 관계없이 문자마다 고유한 코드 값을 가지고 있다.
- 16비트로 표현을 해주고, 총 65536개 까지 표현이 가능하다.