SSAFY CS 스터디: 이취컴 Chapter 2-2 정리
Chapter 02 컴퓨터 구조 - 2 컴퓨터가 이해하는 정보
p.45~65
프로그램 관점의 정보 단위
비트: 0과 1을 나타내는 가장 작은 정보의 단위
- 비트는 개의 정보 표현 가능
단위의 차이
1000개씩 묶어서 KB, MB, GB, TB로 올라가고
1024개씩 묶어서 KiB, MiB, GiB, TiB로 올라감 (아니 여기도 오타가)
CPU 관점의 정보 단위
워드: CPU가 한 번에 처리할 수 있는 정보의 크기
- 현대는 보통 1워드가 4바이트(32비트), 8바이트(64비트)
데이터 - 0과 1로 숫자 표현하기
2진수의 단점.. 너무 길어서 16진수를 보조적으로 널리 사용한다.
16진수 사용처
MAC 주소, IPv6 주소 등
부동 소수점 오차
부동 소수점: 소수점이 고정되지 않은 소수 표현법. 필요에 따라 소수점 위치를 옮길 수 있다.
을 형태로 표현하면, 도 되고 도 된다.
여기서 2와 -1이 지수(exponent), 1.23123과 1231.23이 가수(mantissa, significand)이다.
2진수 체계에선 형태로 표현한다.
10진수 체계에서 1/3이 0.3333... 무한소수가 되는 것처럼, 2진수 체계에서도 정확히 표현되지 않는 소수가 존재한다.
하지만 컴퓨터 메모리는 한정되어 있으므로 여기서 일부 생략되기에 오차가 발생한다.
IEEE 754

- float(32비트): 1 - 8 - 23비트
- double(64비트): 1 - 11 - 52비트
- 부호 비트는 1이면 음수
- 가수는 1.xx로 정규화해서 앞에 1 떼고 소수부분인 .xx에 해당하는 데이터만 저장된다.
1101011.1010101은1.1010111010101 x 2^6로 정규화해서 xx 부분인1010111010101만 저장
- 지수는 bias값 더해서 저장. bias는 지수 표현에 사용되는 비트 수가 일 때
- 1.xx 형태의 데이터에서 bias는 32비트 표현시 , 64비트는
- 32비트 표현시 저장되는 지수는 최종
데이터 - 0과 1로 문자 표현하기
문자 집합: 컴퓨터가 이해할 수 있는 문자들의 집합
- ASCII, EUC-KR, UTF-8 등
문자 인코딩: 문자 집합을 0과 1의 문자 코드로 변환하는 과정
문자 디코딩: 0과 1의 문자 코드를 사람이 이해하는 문자로 변환하는 과정
ASCII
- 영문, 아라비아 숫자, 일부 특수문자
- 8비트(1바이트)
- 패리티 비트(1비트) + 문자 표현 비트(7비트) -> 128개 문자 표현 가능
코드 포인트
문자 인코딩에서 각 문자에 부여된 고유값을 코드 포인트라고 한다.
- 아스키 문자
A의 코드 포인트는 65,a는 97,0은 48,Space는 32
EUC-KR
- 아스키 문자를 표현할때 1바이트, 한글 문자를 표현할때 2바이트 사용
유니코드
- 전 세계 모든 문자를 표현하기 위한 표준
- 더 많은 언어, 특수문자, 이모티콘 표현 가능
- UTF-8, UTF-16은 가변 길이 인코딩 방식, UTF-32는 고정 길이 인코딩 방식
유쁠러스의 정체
U+AE00 처럼 앞에 붙는 U+는 16진수 표기법을 나타내는 접두사이다.