혼자 공부하는 컴퓨터 구조 + 운영체제(강민철 저, 한빛미디어)를 공부하며 내용을 정리한 글 입니다.
현재 블럭의 내용은 작성자의 의견 혹은 생각이며, 틀린 내용이 있을 수 있습니다. 지적 감사드립니다.
0과 1로 숫자를 표현하는 방법
비트와 바이트
비트 : 0과 1을 나타내는 가장 작은 정보 단위. n비트는 2n개의 정보 표현 가능
바이트 : 8개의 비트를 묶은 단위.
1000 바이트는 1KB, 1000KB는 1MB, 1000MB는 1GB, 1000GB는 1TB
※ 1024가 아니다. 1024는 1KiB 등으로 표현한다.
KiB는 키비바이트(Kibibyte), Kilo binary byte의 준말로 킬로 이진 바이트라는 뜻을 가진다.
※ 워드라는 단위도 있는데, 이는 CPU가 한번에 처리 가능한 크기이다. 64비트에서는 1워드가 64비트를 갖는다. 하프 워드(워드의 반), 풀 워드, 더블 워드(워드의 2배)로도 사용 가능하다.
이진법
0과 1로 숫자를 표현하는 방법이다. 코드에서 표기 시 0b1000 등으로 표기한다.
이진수의 음수 표현
2의 보수를 구해 이 값을 음수로 간주한다.
2의 보수의 사전적 의미는 어떤 수를 그보다 큰 2n에서 뺀 값을 의미한다.
ex) 0b11의 2의 보수는 0b100에서 0b11을 뺀 0b01이다.
쉽게 하려면 0과 1을 뒤집고 1을 더하는 방법도 있다.
ex) 0b11 -> 0b00 -> 0b01
이진수만 봐서는 음수인지 양수인지 구분하기 어려우며, 컴퓨터에서는 플래그를 사용하여 구분한다.
십육진법
0~9와 A~F로 숫자를 표현한다.
코드에서는 0x15등으로 표기한다.
십육진법이 유용한 이유는 이진수와 십육진수의 변환이 편리하기 때문이다.
이진수와 십육진수의 변환
십육진수의 한 글자씩 변환하면 된다.
이진수에서 십육진수로 변환하는 방법도 동일하다.
0과 1로 문자를 표현하는 방법
문자 집합 : 컴퓨터가 인식하고 표현할 수 있는 문자의 모음
문자 인코딩 : 문자를 0과 1로 변환
문자 디코딩 : 0과 1을 문자로 변환
아스키 코드
초창기 문자 집합 중 하나로, 영문과 아라비아 숫자, 약간의 특수문자를 포함한다.
문자는 각각 7비트로 표현되어 총 128개의 문자를 표현할 수 있다.
※ 글자에 부여된 고유한 값을 코드포인트라고 부른다. 아스키코드에서 A의 코드포인트는 65, a는 97이다.
EUC-KR
완성형 인코딩 한글 문자 집합
※ 초성, 중성, 종성이 결합된 문자에 코드를 부여하는 것이 완성형 인코딩이며, 조합형 인코딩은 각각 부여 후 조합한다.
EUC-KR에서 한글은 한 글자에 2바이트(16비트)이다.
유니코드와 UTF-8
유니코드는 대부분 나라의 문자와 특수문자를 포함하는 통일된 문자 집합이다.
UTF-8, UTF-16, UTF-32은 인코딩 방식이며, 값의 범위에 따라 결정한다.
UTF-8은 1~4바이트의 결과를 만든다.
'~ 2024.03 > 컴퓨터 구조 + 운영체제' 카테고리의 다른 글
[컴퓨터 구조] 메모리와 캐시 메모리 (1) | 2024.01.04 |
---|---|
[컴퓨터 구조] CPU 성능 향상 기법 (2) | 2024.01.03 |
[컴퓨터 구조] CPU의 작동 원리 (2) | 2024.01.03 |
[컴퓨터 구조] 명령어 (2) | 2024.01.03 |
[컴퓨터 구조] 컴퓨터 구조 시작하기 (0) | 2024.01.03 |