본문 바로가기
JAVA/언어입문

컴퓨터에서 데이터 표시법(2진수, 8진수, 16진수)

by Sunyoung95 2022. 3. 2.
  • 기본적인 데이터 저장 방식 : 2진수 (0과 1로 표현)

 

  • 비트(bit
    • 2진수 하나값을 저장할 수 있는 메모리 크기(1bit = 2진수 1자리)
    • 컴퓨터가 표현하는 데이터 최소 단위
    • 정수(int)를 표현할 때는 32bit(=4byte)를 주로 사용한다.
  • 바이트(byte)
    • 1 byte  = 8 bit

 

<2진수로 음수 표현하는 법>

    - 8 bit로 간단하게 표현

    - 각 bit 맨 앞자리 수는 MSB(Most Significant Bit)라고 하여 부호를 나타내는 부호 비트이다.(0 : 양수, 1 : 음수)

0 0 0 0 0 1 0 1

    - 위와 같이 5를 표현하는 2진수를 가정하여 이의 음수를 만드는 방법은 아래와 같다.

    - 음수로 만드는 것의 궁극적인 목표는 두 수를 더한 결과가 0이 나오게 하는 것이다.

 

  1. 1의 보수를 취한다.
1 1 1 1 1 0 1 0
       - 간단하게 0을 1로, 1을 0으로 바꿔 써주면 된다.
    2. 1을 더해준다.
1 1 1 1 1 0 1 1

    - 보수를 취한 것 만으로는 더했을 때 모든 자리가 1로 채워지므로 0이 되지 않는다.

    - 1을 더함으로써 모든 자리가 올림 처리되어 0으로 변하고 bit 수를 넘어서는 자릿수는 잘리게 되어 최종 수는 0이 된다.

 

 

  • 컴퓨터에서 각 진수법 표현방식(10진수, 2진수, 8진수, 16진수)
10진수 2진수 8진수 16진수
10 0b1010 012 0xA
  • 10진수 : 10진수 그대로 표현
  • 2진수 : 2진수 앞에 숫자0 과 b를 붙인다.
  • 8진수 : 8진수 앞에 숫자0을 붙인다.
  • 16진수 : 16진수 앞에 숫자0 과 x를 붙인다.

        ⇒ JAVA파일로 컴파일해서 출력할 경우 10진수로 자동 변환되어 출력된다!

 

  • 16진수 표현법
    10진수 16진수
    9 9
    10 A
    11 B
    12 C
    13 D
    14 E
    15 F
    16 10
  • 16진수를 쓰는 이유
    10진수 2진수 16진수
    15 1111 F
    • 16진수로 표현하면 2진수로 4 bit를 1자리로 표현할 수 있다.
    • ex) 주소를 표현할 때 64 bit를 2진수로 표현하면 너무 길기 때문에 16진수로 표현하면(64/4=16자리) 더 간결해진다.
    • 16진수로 표현했을 때, bit 수 자체가 줄어드는 것이 아니라 자릿수가 더 줄어드는 것! (압축같이)
    • 16진수 한자리 = 4bit

댓글