ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Chapter 2 (Bits, Bytes, and Integers)
    컴퓨터 시스템 개론 2022. 3. 22. 01:02
    728x90

    Binary Representation

    Bit : 두가지 형태로 나타냅니다 (0 or 1)

     

    Representing Information

    ...

     

    Encoding Byte Values

    Byte = 8 bits

    Binary : 00000000(2) to 11111111(2)

    Decimal : 0(10) to 255(10)

    Hexadecimal : 00(16) to FF(16)

     

    우리가 C언어 에서 보는 0x 또는 0X로 시작하는 수들은 Hexadecimal 표기법입니다.

    0xFA1D378B = 0Xfa1d37b 즉 대소문자 구분이 없습니다.

    예를들어 10진수 314156을 16진법 표기법으로 나타내면

    314156 = 19634 * 16 + 12 (C)

    19634 = 1227 * 16 + 2 (2)

    1227 = 76 * 16 + 11 (B)

    76 = 4 * 16 + 12 (C)

    4 = 0 * 16 + 4 (4)

    => 0x4CB2C 입니다.

     

    Numeric Ranges

    Unsigned value

    UMin = 0 (0000)

    UMax = 2^w - 1 (11111....11)

     

    Two's Complement Values

    TMin = -2^(w-1) (1000....00)

    TMax = 2^(w-1)-1 (0111...11)

    -1 = 1111111...111

    word 값에 따라 달라질 수 있습니다.

    여기서 중요한 사실은 |TMin| = TMax + 1 

    즉, 음수로 표현할 수 있는 범위가 양수로 표현할 수 있는 범위보다 1더 많습니다. (비대칭 범위)

    UMax = 2 * TMax + 1

    Sign Extension

    주어진 w개의 bit signed 정수 x에 대해서 같은 값을 가지면서 w + k bit 정수로 바꾸면 어떨까?

    short int x = 15213;
    int ix = (int) x;
    
    short int y = -15213;
    int iy = (int) y;

    short int의 크기는 2byte(16 bit) 이고 int의 크기는 4byte(32 bit) 입니다.

    작은 data type 크기에서 큰 data type 크기로 바꾸는 것은 C언어에서 자동적으로 처리해줍니다.

     

    Summary

    컴퓨터는 bit로 표현한 정보를 encode, store, manipulate할 수 있습니다.

    음수의 표현은 2's complement로 표현합니다.

     

Designed by Tistory.