| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 | 
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 
| 16 | 17 | 18 | 19 | 20 | 21 | 22 | 
| 23 | 24 | 25 | 26 | 27 | 28 | 29 | 
| 30 | 
                            Tags
                            
                        
                          
                          - LG
 - 분류
 - deep learning
 - gpt
 - 딥러닝
 - GPT-4
 - 머신러닝
 - 해커톤
 - AI
 - LLM
 - 티스토리챌린지
 - 회귀
 - ChatGPT
 - PCA
 - supervised learning
 - Machine Learning
 - 지도학습
 - regression
 - Classification
 - LG Aimers 4th
 - 오블완
 - LG Aimers
 - OpenAI
 
                            Archives
                            
                        
                          
                          - Today
 
- Total
 
SYDev
Chapter 02-1 : 0과 1로 숫자를 표현하는 방법 본문
      Computer Architecture + Operating System/Computer Architecture
      
    Chapter 02-1 : 0과 1로 숫자를 표현하는 방법
시데브 2023. 7. 20. 12:53학습 목표
- Chapter에서는 컴퓨터가 표현하는 정보 단위를 학습
 - 0과 1만으로 숫자를 표현하는 방법을 학습
 
정보 단위
- 비트(bit) : 0과 1을 나타내는 가장 작은 정보 단위
 
n비트는 2^n가지 정보를 표현할 수 있음.
| 1바이트(1byte) | 8비트(8bit) | 
| 1킬로바이트(1kB) | 1,000바이트(1,000byte) | 
| 1메가바이트(1MB) | 1,000킬로바이트(1,000kB) | 
| 1기가바이트(1GB) | 1,000메가바이트(1,000MB) | 
| 1테라바이트(1TB) | 1,000기가바이트(1,000GB) | 
+ 1024개씩 묶은 건 KiB, MiB, GiB, TiB
더보기
워드(word) : CPU가 한 번에 처리할 수 있는 데이터 크기
16비트를 한 번에 처리 -> 1워드 : 16비트
32비트를 한 번에 처리 -> 1워드 : 32비트
- 하프 워드(half word) : 워드의 절반 크기
 - 풀 워드(full word) : 1배 크기
 - 더블 워드(double word) : 2배 크기
 
이진법
| 이진법 : 0과 1만으로 모든 숫자를 표현하는 방법 | 이진수 : 이진법으로 표현한 수 | 
| 십진법 | 십진수 | 
10진수와 구별하기 위해서, 수학적으로 표기할 때는 주로 이진수 끝에 아래첨자 (2), 코드 상에서는 주로 이진수 앞에 0b 붙임
이진수의 음수 표현
- 2의 보수 : 어떤 수를 그보다 큰 2^n에서 뺀 값
 - 이진수의 음수 : 해당 이진수의 2의 보수를 구해 이 값을 음수로 간주함(모든 0과 1을 뒤집고(1의 보수), 거기에 1을 더한 값)
 - 플래그 : 컴퓨터 내부에서 양수 음수를 구별하기 위한 부가 정보
 
+ 0을 음수로 표현 -> 2의 보수 취하고 자리 올림 발생한 비트 소거, 2^n 음수 표현 -> n비트로 음수 표현 불가능
십육진법
십육진법 : 수가 15를 넘어가는 시점에 자리 올림을 하는 숫자 표현 방식
| 십진수 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | ... | 
| 십육진수 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | A | B | C | D | E | 10 | 11 | ... | 
수학적으로 표기할 때는 주로 이진수 끝에 아래첨자 (16), 코드 상에서는 주로 이진수 앞에 0x 붙임
십육진수를 이진수로 변환
십육진수 숫자 하나 = 이진수 4비트 (2^4=16)
| 16진수 | 2진수 | 
| 1 | 0001 | 
| A | 1010 | 
| 2 | 0010 | 
| B | 1011 | 
| 1A2B | 0001101000101011 | 
이진수를 십육진수로 변환
이진수 숫자를 네 개씩 끊고, 네 개의 숫자를 하나의 십육진수로 변환한 뒤 이어붙이면 십육진수이다.
이진수 0001101000101011(2) -> 0001 1010 0010 1011 -> 1 A 2 B -> 1A2B(16)
출처 : 강민철, <혼자 공부하는 컴퓨터구조 + 운영체제>, 한빛미디어(주), 2022.08.16
728x90
    
    
  반응형
    
    
    
  'Computer Architecture + Operating System > Computer Architecture' 카테고리의 다른 글
| Chapter 04-1 : ALU와 제어장치 (0) | 2023.07.23 | 
|---|---|
| Chapter 03-2 : 명령어의 구조 (0) | 2023.07.21 | 
| Chapter 03-1 : 소스 코드와 명령어 (0) | 2023.07.21 | 
| Chapter 02-2 : 0과 1로 문자를 표현하는 방법 (0) | 2023.07.20 | 
| Chapter 01 : 컴퓨터 구조의 시작 (0) | 2023.07.20 |