ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 데이터 표현 방식의 이해
    Develpment/C 2020. 9. 13. 21:24

    1. 8진수, 16진수 표현


     int a = 10;   // 10진수

     int b = 0xa;  // 16진수. 0x로 시작

     int c = 012   // 8진수. 0으로 시작



    2. 정수의 표현 방식


     MSB

     <

    데이터 크기 표현

     >

     0

     0

     부호(+,-) 표현

     

     

     

     

     

     

     


    ex) 1바이트의 메모리 공간에서의 +1 표현


    3. 음수의 표현


     0

     0

     0

     0

     0

     1

     0

     1

     

     [+5]

    * 1의 보수를 취한다.

     

     

     1

     1

     1

     1

     1

     0

     1

     0

     

     

    * 1을 더한다.

     

     

     1

     1

     1

     1

     1

     0

     1

     1

     

     [-5]


    4. 음수의 표현 증명


     

     0

     0

     0

     0

     0

     1

     0

     1

     

     [+5]

     +

     1

     1

     1

     1

     1

     0

     1

     1

     

     [-5]

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     1

     0

     0

     0

     0

     0

     0

     0

     0

     

     [0]

     * 올림 수(carry)는 버린다.  


    5. 실수의 표현


     MSB

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     1

     0

     0

     0

     0

     0

     0

     1

     0

     0

     0

     0

     0

     0

     1

     0

     

     <

     >

     <

     e

     >

     

     

     ex) 실제로는 4바이트 이상의 메모리 공간을 이용해서 실수를 표현한다. 여기서 2바이트만을 가지고 이야기하는 것은 표현 방식을 이해하기 위해서 이다.


    * 컴퓨터가 실수를 표현하는 방식은 오차를 지닌다.

    • 넓은 범위의 실수를 표현할 수 있다는 장점과 더불어 오차가 존재한다는 단점도 지닌다. (부동소수점 오차)

    • 컴퓨터는 실수를 100% 정확히 표현하지 못한다. 다만 근사치를 포현할 뿐이다.

     

     

      6. 비트단위 연산

       

       연산자

       연산자의 의미

       결합성

       &

      비트단위 AND

      ex) a & b

       ->

       |

      비트단위 OR

      ex) a | b 

       ^

      비트단위 XOR

      ex) a ^ b 

       ~

      비트단위 NOT

      ex) ~a

       <<

      왼쪽으로 이동

      ex) a << 2 

       >>

      오른쪽으로 이동

      ex) a >> 2 

       


      'Develpment > C' 카테고리의 다른 글

      메모리 영역 (code, data, bss, heap, stack)  (0) 2020.09.13
      printf 와 scanf 함수에 대한 고찰  (0) 2020.09.13
      상수와 기본 자료형  (0) 2020.09.13
      변수  (0) 2020.09.13

      댓글

    Designed by Tistory.