일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 운영체제
- 리눅스 마스터 2급
- 웹 디자인 기능사
- 인덱스의 개념과 장단점
- 컴퓨터 구조
- Update
- 이것이 오라클이다
- 첫 프로그래밍
- 열거형
- 뷰
- github에 새 리포지토리 추가하기
- 혼자 공부하는 네트워크
- 혼자 공부하는 컴퓨터 구조 및 운영체제
- 혼자 공부하는 컴퓨터 구조 + 운영체제
- gitkraken을 통한 프로젝트 올리기
- sqld
- 데이터 모델링
- INSERT
- 명령 프롬프트
- youtube review
- oracle
- 데이터모델링
- 클러스터형 인덱스와 보조 인덱스
- 컴퓨터 활용 능력 1급
- 2025-02-13
- 컴퓨터 활용 능력
- 혼자 공부하는 SQL
- delete
- 친절한 SQL 튜닝
- mysql 설치 방법과 정상 작동 확인하기
- Today
- Total
코딩 브이로그
0과 1로 숫자를 표현하는 방법 본문
컴퓨터는 0과 1밖에 모른다.
어떻게 3+4를 할까?
정보 단위
비트(bit): 0과 1을 표현하는 가장 작은 정보 단위 (전구로 따지자면 꺼짐, 켜짐)
총 4가지가 가능
00
01
10
11
* 3비트로는 8개가 가능
n 비트로는 2n승 가지의 정보 표현 가능
프로그램의 수많은 비트로 이루어져 있음
다만, 평소 "이 파일은 8,920,120 비트야" 라고 표현하진 않음
비트보다 더 큰 단위를 사용
- 바이트, 킬로바이트, 메가 바이트, 기가 바이트, 테라 바이트 ...
1바이트 - 8비트
1킬로바이트 - 1000바이트
1메가바이트 - 1000킬로바이트
1기가바이트 - 1000메가바이트
1테라바이트 - 1000기가바이트
워드
- CPU가 한 번에 처리할 수 있는 정보의 크기 단위
- 하프 워드 : 워드의 절반 크기
- 풀 워드 : 워드 크기
- 더블 워드 : 워드의 두 배 크기
이진법 : 0과 1로 숫자 표현하기
이진법 (binary)
- 0과 1로 수를 표현하는 방법
- 숫자가 1을 넘어가는 시점에 자리올림
- 우리가 일상적으로 사용하는 진법은 숫자가 9를 넘어갈 때 자리올림하는 십진법 (decimal)
십진수. 이진수.
1 1
2 10
3 11
4 100
5 101
6 110
7 111
8 1000
보통 이진수를 표현할 때는 1000(2) 또는 0b1000
0과 1로 음수 표현하기: 2의 보수
- 어떤 수를 그보다 큰 2n에서 뺀 값
11(2) 보다 큰 2n = 100(2)
11(2)를 음수로 표현한 값 01(2)
- 모든 0과 1을 뒤집고 1 더한 값
11(2)를 음수(2의 보수)로 표현하기
<11>
모든 0과 1 뒤집기
<00>
1 더하기
<01>
음수 두 번 구해보기
<1011>
<0101> 2의 보수로 표현
<1011> 다시 2의 보수로 표현
플래그(flag)
양수 0101(2) -> 5구나
음수 0101(2) -> 1011(2)의 음수구나
레지스터에 양수/음수를 구분하는 플래그가 있다. -> 플래그 레지스터
십육진법
- 이진법으로는 숫자의 길이가 너무 길어진다
- 십진수 32 == 이진수 100000
- 그래서 컴퓨터의 데이터를 표현할 때 십육진법도 많이 사용
- 수가 15를 넘어가는 시점에 자리올림
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
0 1 2 3 4 5 6 7 8 9 A B C D E F 10
십육진법 표기
15(16) - 수학적 표기 방식
ox15 - 코드상 표기 방식
직접 코드에 써넣는 사례도 많다.
offest = (offest & 0x00ffffff) << 2
팁: 이진수 -> 십육진수 변환
2진수와 16진수간의 변환이 쉽다 아주 간편하다
그래서 16진수가 많이 쓰인다.
'혼자 공부하는 컴퓨터 구조 및 운영체제 (복습)' 카테고리의 다른 글
명령어의 구조 (6) | 2024.10.10 |
---|---|
소스 코드와 명령어 (7) | 2024.10.10 |
0과 1로 문자를 표현하는 방법 (10) | 2024.10.10 |
컴퓨터 구조의 큰 그림 (0) | 2024.10.10 |
컴퓨터 구조를 공부해야 하는 이유 (0) | 2024.10.10 |