컴퓨터는 0과 1로만 표현된 정보만을 이해
컴퓨터가 이해하는 가장 작은 정보단위 : 비트 (bit) ---> 0과 1로 표현
2비트로 표현할 수 있는 정보 ->2^2
3비트로 표현할 수 있는 정보 ->2^3
바이트(byte) = 8비트
1킬로바이트 (KB) = 1000바이트
1메가바이트 (MB) = 1000킬로바이트
1기가바이트 (GB) = 1000메가바이트
1테라바이트 (TB) = 1000기가바이트
★word -> CPU가 한 번에 처리할 수 있는 데이터의 크기 (하프워드 , 풀 워드 , 더블 워드)
대부분 32비트 or 64비트
이진법
이진수로 표현된 수 앞에 0b or 뒤에 (2)
이진수의 음수 표현 -> 2의 보수
1의 보수 + 1 = 2의 보수
2의 보수 단점 :
1. 실제 이진수만 봐서는 음수인지 양수인지 확인이 어려움 ->해결책 : flag 사용
2. -2^n과 2^n이라는 수의 동시표현 불가능
십육진법
십육진수롤 표현된 숭 앞에 0X or 뒤에(16)
십육진수를 쓰는 이유 : 2진수로의 변환이 자유로움 (2진수 네글자를 모으면 16진수가 됨)
문자를 표현하는 방법
문자집합 : 문자의 모음
문자인코딩 : 사람이 나타낸 문자 -> 0과 1로의 표현
문자디코딩 : 문자인코딩의 반대
완성형인코딩 : 초성+중성+종성 ---> ex) 가=1 나 =1 닫 =31
조합형인코딩 : 초성을 위한 비트 + 중성을 위한 비트 + 종성을 위한 비트 --->ex) 가= ㄱ+ㅏ = 0010+0011
아스키코드 (ASCII)
7비트 128개의 문자 ( 8비트중 1비트는 패리티 비트)
단점
1. 한글을 표현할 수 없음
2. 특수문자 표현할 수 없음
해결하기 위해 확장아스키코드 나왔지만 역부족
EUC-KR
완성형인코딩 방식
한글 한 글자에 2바이트 코드 부여 -> 16비트 필요
총 2350개 정도의 한글 단어 표현 가능
단점
1. 모든 한글 조합을 표현할 수 없음
2. 따라서 은행 관공서에서 표현할 수 없는 한글글자로 인해 피해
CP949등장했지만 넉넉하지는 않음
유니코드(UNICODE)
EUC-KR보다 훨씬 많은 문자 표현 가능
각 문자맏자 고유한 값이 부여
ex) 한 = D55C 글 = AE00
UTF-8 (유니코드 변환 방식 )
1~4바이트까지의 인코딩 결과
유니코드 표를 통해 1~4바이트 예상할 수 있음
아스키코드는 대부분 1바이트에 배정 , 4바이트는 잘 안쓰는 문자열
(자바는 UTF-16방식을 사용)
후기 :평소 아무 생각없이 사용하던 UTF-8 , 아스키코드를 알고 쓸 수 있겠다.
자바는 왜 UTF-16방식을 선정했는지 고민이 필요하다.
'[CS]' 카테고리의 다른 글
[네트워크] OSI 7계층 (0) | 2023.04.09 |
---|---|
컴퓨터 구조 ch.4 CPU의 작동 원리 (2) | 2023.01.02 |
컴퓨터 구조 ch. 3 명령어 (0) | 2022.12.29 |
컴퓨터 구조 공부 시작 [혼자 공부하는 컴퓨터구조+운영체제] (2) | 2022.12.27 |
컴퓨터 과학 기초 중 기초 중 기초 (0) | 2022.12.16 |