@ 2진수 : 0,1  16진수 : 0~9,A,B,C,D,E,F, 0과 1은 숫자이기 이전에 기호다

@ 컴퓨터는 2진수로 데이터를 표현한다. 2진수의 데이터는 굉장히 길고 이를 간결하게 표현하기 위해 16진수를 사용한다. 2의 4승이 16 곧 2진수 네 개는 16진수 하나로 표현이 가능하다.

 2진수  10진수
 0000  0
 0001  1
 0010  2
 0100  4
 1000  8

1001은? 1000과 0001의 합 즉 8+1의 합 9
1111은 ? 8+4+2+1 = 15가 된다.

 2진수  16진수
 0000  0
 0001  1
 1110  E
 1111  F 
 0001 0000  10
 0001 0001  11
 1111 1110  FE
 1111 1111  FF

2진수 숫자 네 개가 16진수 숫자 하나로 표현됨, 2진수를 16진수로 변환할 때, 2진수 숫자를 네 개씩 끊어서 16진수로 바꿔주면 됨. 반대로 16진수를 2진수로 변환할때는 16진수 숫자하나가 2진수 숫자 네 개로 바꿔주면 된다.

@ 8진수의 초기화하는 값은 010 (숫자 10 앞에 0이 붙어 있는데 이런 형태가 8진수를 표현하는 방법)
    숫자 앞에 0x가 붙으면 16진수로 인식한다. 16진수 초기화하는 값은 0x10

#include <stdio.h>

int main(void)
{
 int n8 = 010;//8진수 숫자 표현
 int n10 = 10; //10진수 숫자 표현
 int n16 = 0x10;//16진수 숫자 표현

 printf("8진수 초기화 변수 값 : %d \n", n8);
 printf("10진수 초기화 변수 값 : %d \n", n10);
 printf("16진수 초기화 변수 값 : %d \n", n16);
 return 0;
}

%d라는 서식문자는 10진수로 출력하기에 위 소스의 결과는 모두 10이 된다. 서식문자 %o와 %x를 사용하면 각각 8진수와 16진수 형태의 값을 출력할 수 있다.

@ 비트(bit) : 컴퓨터가 나타내는 데이터의 최소 단위를 가리켜 비트라 한다. 1비튼 2진수 값 하나를 저장할수 있는 메모리 공간의 크기를 의미한다.

@ 바이트(byte) : 비트가 여덟 개 모이면 1 바이트가 됨

@ 워드(word) : 워드는 CPU가 한번에 처리할 수 있는 데이터의 크기를 의미하는 단위. 16비트 시스템에서는 한번에 처리할 수 있는 데이터의 크기가 16비트로 제한된다. 즉 16비트 시스템에서는 1워드가 16비트이다.
Posted by Taoist
,