Machineboy空
컴퓨터가 이해하는 데이터① - 숫자 표기 : 2진법(binary), 16진법(hexadecimal) 본문
정보의 단위
1. 비트(bit)
컴퓨터가 이해하는 기본적 가장 작은 정보 단위 : 0,1
- 0 = 전기 신호가 약하다.
- 1 = 전기 신호가 강하다.
프로그램은 수많은 비트(bit)로 이루어져 있다.
- n비트로 2n^가지의 정보를 표현할 수 있다.
- bit < byte < killobyte < megabyte < gigabyte < terabyte
1byte | 8bit |
1kB | 1000byte |
1MB | 1000kB |
1GB | 1000MB |
1TB | 1000GB |
2. 워드(word)
CPU가 한 번에 처리할 수 있는 정보의 크기 단위
예) CPU가 한 번에 32bit씩 처리할 수 있다면 1word = 32bit
하프 워드 (half word) | word/2 |
풀 워드(full word) | word 크기 |
더블 워드(double word) | word*2 |
0과 1로 숫자 표현하기
1. 이진법 (binary)
컴퓨터는 2진수를 이해한다!
- 2진법 표현하기
- 100(2)
- 0b100
- 2진법으로 음수 표현하기: 2의 보수
- 방법 1: 어떤 수를 그보다 큰 2n^에서 뺀 값
- 방법 2: 모든 0과 1을 뒤집고 1 더한 값
서로 보수 관계인지 알아 보기 위해 두 번 계산해 보면 자기 자신이 된다.
ex) 2 >> -2 >> 2
- 숫자는 플래그(Flag)를 가지고 다닌다!
숫자의 플래그 (양수, 음수)를 가지고 다니며 CPU의 플래그 레지스터가 판단(?)
2. 16진법 (Hexadecimal)
이진법으로는 숫자의 길이가 너무 길어지기 대문에 컴퓨터의 데이터를 표현할 때 16진법도 많이 사용
- 16진법 표기
- 15(16)
- ox15
Tip. 2진법(binary) - 16진법 (Hexadecimal) 변환
'Computer > CS' 카테고리의 다른 글
C 언어 컴파일 과정 : 전처리(preprocess) - 컴파일(compile) - 어셈블(assemble) - 링크(link) (0) | 2024.01.04 |
---|---|
명령어의 구조(연산코드, 오퍼랜드)와 주소 지정 방식 (1) | 2024.01.03 |
소스 코드와 명령어 - 저급 언어, 고급 언어 (0) | 2024.01.03 |
컴퓨터가 이해하는 데이터② - 문자 표기 (아스키 코드,EUC-KR에서 utf-8 인코딩까지) (1) | 2024.01.02 |
컴퓨터의 4가지 핵심부품 - CPU,메모리(RAM),보조기억장치,입출력 장치 (0) | 2024.01.01 |