[CS : 컴퓨터 구조] 데이터 : 02-1 0과 1로 숫자를 표현하는 방법

2023. 10. 19. 18:14·Computer Science/컴퓨터 구조

02-1 0과 1로 숫자를 표현하는 방법

1) 정보단위

  • 비트(bit) : 0과 1을 표현하는 가장 작은 정보 단위
  • ex) 전구 : 켜짐 · 꺼짐
  • n비트로 2ⁿ가지의 저옵 표현 가능
  • 프로그램은 수많은 비트로 이루어져 있다. 다만 표현 시 비트보다 더 큰 다위를 사용한다.(ex 바이트, 메가바이트, 기가바이트, 테라바이트 ···)
더보기

1바이트(1byte) : 8비트(8bit)

1킬로바이트(1KB) : 1,000 바이트(1,000 byte)

1메가 바이트(1MB) : 1,000 킬로바이트(1,000 KB)

1기가 바이트(1GB) : 1,000 메가바이트(1,000 MB)

1테라 바이트(1TB) : 1,000 기가바이트(1,000 GB)

 

c.f) 이전 단위를 1024개씩 묶는 건 KiB, MiB, GiB ··· 등등 

2) 워드(word)

  • CPU가 한 번에 처리할 수 있는 정보의 크기 단위
  • 하프워드(half word) : 워드의 절반 크기
  • 풀워드(full word) : 워드크기
  • 더블 워드(double word) : 워드의 두 배 크기

3) 이진법(binary)

  • 0과 1로 수를 표현하는 방법
  • 숫자가 1을 넘어가는 시점에 자리올림
  • 우리가 일상적으로 사용하는 진법은 숫자가 9를 넘어갈 때 자리올림하는 십진법(decimal)

(위) 수학적표기방식, (아래) 코드에서 사용되는 표기방식

3-1) 0과 1로 음수 표현하기 : 2의 보수

  • 어떤 수를 그보다 큰 2ⁿ 에서 뺀 값

 

  • 모든 0과 1을 뒤집고 1 더한 값

  • CPU 내부의 플래그(flag) 레지스터를 통해 양수 · 음수를 구분한다.

4) 십육진법

  • 이진법으로는 숫자의 길이가 너무 길어진다.(십진수 32 == 이진수 100000) 그렇기 때문에 컴퓨터의 데이터를 표현할 때 십육진법도 많이 사용된다.(수가 15를 넘어가는 시점에 자리올림)

십육진법 자리올림과정
십육진수 표기법

  • 직접 코드에 써넣는 사례

  • 16진수 → 2진수 변환

  • 2진수 → 16진수 변환

※ 16진수를 쓰는 것은 2진수를 16진수로 변환하거나 16진수를 2진수로 변환하는 과정이 수월하기 때문일것이라고 추측하고 있다.

 

 

 

 

 

 

 

 

출처: 인프런-개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
https://www.inflearn.com/course/%ED%98%BC%EC%9E%90-%EA%B3%B5%EB%B6%80%ED%95%98%EB%8A%94-%EC%BB%B4%ED%93%A8%ED%84%B0%EA%B5%AC%EC%A1%B0-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C/dashboard
저작자표시 (새창열림)

'Computer Science > 컴퓨터 구조' 카테고리의 다른 글

[CS : 컴퓨터 구조] C 언어의 컴파일 과정  (1) 2023.10.25
[CS : 컴퓨터 구조] 03-2 명령어의 구조  (1) 2023.10.24
[CS : 컴퓨터 구조] 명령어 : 03-1 소스코드와 명령어  (0) 2023.10.23
[CS : 컴퓨터 구조] 데이터 : 02-2 0과 1로 문자를 표현하는 방법  (0) 2023.10.20
[CS : 컴퓨터 구조] 컴퓨터 구조에 대하여  (1) 2023.10.18
'Computer Science/컴퓨터 구조' 카테고리의 다른 글
  • [CS : 컴퓨터 구조] 03-2 명령어의 구조
  • [CS : 컴퓨터 구조] 명령어 : 03-1 소스코드와 명령어
  • [CS : 컴퓨터 구조] 데이터 : 02-2 0과 1로 문자를 표현하는 방법
  • [CS : 컴퓨터 구조] 컴퓨터 구조에 대하여
JinSeong
JinSeong
재미없으면 안한다.
  • JinSeong
    As you think, so shall you become.
    JinSeong
  • 전체
    오늘
    어제
    • 분류 전체보기 (96)
      • 📆 Today I Learned(개발언어학습) (76)
        • JAVA (20)
        • HTML (1)
        • JSP (46)
        • SPRING (2)
        • ORACLE(DB) (6)
        • CSS (1)
      • 📆 Today I Learned(코딩테스트) (0)
        • JAVA (0)
      • Computer Science (9)
        • 컴퓨터 구조 (9)
        • 운영체제 (0)
        • 자료구조 & 알고리즘 (0)
        • 데이터베이스 (0)
      • 창고 (11)
        • 기초지식 (7)
        • 파일창고 (0)
        • 기술지식창고 (0)
        • 버그버그 👀 (4)
      • Tools🔧 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Oracle
    SQL
    명령어
    java json리턴 에러
    환경변수 차이
    no converter found for
    java 스케줄러
    instanceof 연산자
    spring 스케줄러
    레지스터
    CPU
    제어장치
    JAVA문자열자르기
    ALU
    이클립스 오버라이딩 메소드 자동 생성 기능
    java 객체타입확인
    DB
    substring()
    java버전 표현
    jdk구분
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
JinSeong
[CS : 컴퓨터 구조] 데이터 : 02-1 0과 1로 숫자를 표현하는 방법
상단으로

티스토리툴바